今天给各位亲推荐数据科学的三个框架或者库。
Screen Shot 2016-09-02 at 22.15.58.png
01 SFrame
这家公司最初的名字叫graphlab,后来改名为dato,最近又进行了一次改名,叫turi了,这名字起得,图日吗?
最近这次改名,是因为和datto的名字太相近了,被datto告了,因此改名为turi,目前的网站也已经变成turi.com了。
其机器学习框架create貌似非常强大,提供的功能也非常全面,奈何目前没有开源,需要收费才能使用,因此一直也没有深入进行尝试。可以以学术研究的用途申请一年期限的免费Key,之前申请过并且环境都配置好了,只是一想到不能长久,并没有深入使用。
create虽然要收费,不过却开源了其核心的数据结构SFrame,类似于pandas,支持处理超过单机内存的数据,但目前只支持Python2。实际使用过,效果确实不错。
前段时间,turi被苹果以2亿美元收购了,苹果正在将其改造成专门的机器学习部门。等待其开源的想法,恐怕是永远也实现不了吧。
知识星球.jpeg
02 HDP2.5
著名的三大Hadoop发行版本之一,由hortonworks出品,说起hortonworks,得说一下hadoop,本来由yahoo!的一帮人搞起来的,后来这帮搞hadoop的人专门成立了一个公司,就是现在的hortonworks。
据说现在hadoop的70%的代码还是由这家公司的员工在贡献。因此,可以想像其实力的强大了,出品的HDP平台,更是坚持100%的开源方式。而在Hive上在贡献主要是主导开发了Tez引擎,目前也是hdp2中Hive的默认引擎,其执行引擎与Spark类似,也是构建了DAG图,性能也几乎可以和Spark的SQL媲美了。
最近时间访问其官方网站,部分页面也支持中文了,难道是看好中国这块大市场了?
在最新的2.5版本中,已经集成了可以被称为交互式分析一统天下的Zeppelin(在下正在写的书《全栈数据》中专门一篇写了zeppelin的使用,欢迎关注!),更加方便了。
目前的最新2.5版本中,对Hive和Spark的支持,是分别支持两个版本的。
Hive是1.2.1和2.1两个版本,1.2.1是成熟版本,2.1是技术预览版本。
Spark也支持两个版本,1.6.2和2.0, 1.6.2是很成熟的版本,2.0是技术预览版本,关于Spark 2.0这个新版本,在下前面已经有一篇文章介绍其新功能了,欢迎参考《Spark2.0,重要更新与改进》。
03 skflow
tensorflow的抽象上层API接口,提供了完全类似于sklearn的API接口。使用非常简单,只要有sklearn的使用经验,构建一个模型就是简单几个步骤,模型参数配置,fit,predict等等。
因为tensorflow的影响力,skflow以前是单独一个项目,地址为:
目前官方已经没有维护这个项目了,因为已经完全把它整合到tensorflow中去了,地址为:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/learn/python/learn
按官方的说法,现在也改名叫tflearn,TF Learn (aka Scikit Flow)。
借用一个官方的例子吧:
import tensorflow.contrib.learn.python.learn as learnfrom sklearn import datasets, metrics iris = datasets.load_iris() classifier = learn.LinearClassifier(n_classes=3) classifier.fit(iris.data, iris.target, steps=200, batch_size=32) score = metrics.accuracy_score(iris.target, classifier.predict(iris.data)) print("Accuracy: %f" % score)
从scikit-learn中加载鸢尾花数据,构建一个线性分类器,然后使用fit进行拟合,最后使用predict进行预测,并进行性能评估。
这完全就是sklearn搞机器学习的套路嘛!
04 结语
如果喜欢推荐的这三个框架。
作者:i败火
链接:https://www.jianshu.com/p/3121ab522f64