GitHub上排名前10的机器学习项目,包括一些库、框架和教育资源。让我们一起学习一下这些工具和资源。
关于转载授权
大数据文摘作品,欢迎个人转发朋友圈,自媒体、媒体、机构转载务必申请授权,后台留言“机构名称+文章标题+转载”,申请过授权的不必再次申请,只要按约定转载即可,但文末需放置大数据文摘二维码。
选文:孙强
整理翻译:孙强,HeHe, Dr Guo, Mano
原文链接:http://www.kdnuggets.com/2015/12/top-10-machine-learning-github.html/2
摘要:GitHub上排名前10的机器学习项目,包括一些库、框架和教育资源。让我们一起学习一下这些工具和资源。
10个项目被点赞和ForK的数量代表了它们受欢迎的程度(文中★表示点赞,Y表示Fork)
开源软件是数据科学拼图中重要的一块。根据最近KDnuggets对数据科学软件所做的调查结果,过去的12个月内,有73%的数据科学家使用的是免费软件。虽然互联网有很多免费软件来源,Github已然成为所有开源软件的信息交流中心,包括那些用于在数据科学界的工具。机器学习对于数据科学而言,其重要性和中心地位,不言而喻。以下所列,是Github上排名前10位的机器学习项目的概况。
ScikitLearn
★ 8641, Y 5125
基于Python的机器学习
毫无悬念地,列为十大项目之首的,是服务于遍布全世界从工业到学术界的Python使用者们的机器学习库。基于NumPy, SciPy和matplotlib,ScikitLearn最大化了Python的科学计算能力。作为通用的工具包,ScikitLearn包含了分类、回归和聚类算法,以及数据准备和模型评估等辅助工具。
链接:https://github.com/scikit-learn/scikit-learn
Awesome机器学习
★ 8404, Y 1885
一系列Awsome机器学习的框架、库和软件的整合列表。
该列表首先根据语言进行分类,然后由机器学习类别(如通用,计算机视觉,自然语言处理等等)进一步细分。它还包括了数据可视化工具,从某种意义上说,这使得它更多被视为一个通用的机器学习方法。这不失为一件好事。
链接:https://github.com/josephmisiti/awesome-machine-learning
PredictionIO
★ 8145, Y 1002
PredictionIO 是开发人员和ML工程师的机器学习服务器, 构建于Apache Spark, HBase 和 Spray之上。
PredictionIO是一个通用的框架。它包括多个服务于几个常见任务的模块,如可定制的分类和建议,并通过REST API或SDK与现有应用程序相连接,还包括对Spark MLib的支持。因为它是建立在Spark之上,并利用Spark的生态系统,毫无悬念地,PredictionIO主要是由Scala开发而来。
链接:https://github.com/PredictionIO/PredictionIO
Dive Into Machine Learning (潜入式机器学习)
★ 4326, Y 342
基于Jupyter notebook和ScikitLearn的交互式机器学习资源
该项目集合了服务于ScikitLearn的IPython的笔记本电脑教程和大量链接,指向特定的Python相关的和一般的机器学习主题,以及更为广泛的数据科学信息。开发者很大度,指出如果该项目不适合你,他们还包括了许多其他类似的教程。如果你是Python机器学习的新手,千万别错过该项目。
链接:https://github.com/hangtwenty/dive-into-machine-learning
Pattern
★ 3799, Y 598
Python网络挖掘模块,包括抓取工具、自然语言处理、机器学习、网络分析及可视化。
Pattern是一个基于Python的网络挖掘工具包,来自于安特卫普大学的计算语言学和心理语言学研究中心。它的主要作用是数据抓取、机器学习、自然语言处理、网络分析和可视化。Pattern能从几个知名的网络服务器中较易地挖掘数据。该项目有很成熟的开发记录,还包括了大量的例子和单元测试。
链接:https://github.com/clips/pattern
NuPIC (Numenta智能处理平台)
★ 3647, Y 987
是一种脑力激发机器智能平台,具有基于脑皮质性学习算法的生物学准确性神经网络。
NuPIC实现了分层时间内存( Hierarchical Temporal Memory, 简称HTM)机器学习算法。HTM尝试模拟大脑皮层算法,旨在专注于存储和记忆时空模式。NuPIC适合于模式相关的异常检测。
链接:https://github.com/numenta/nupic
Vowpal Wabbit
★ 2949, Y 827
Vowpal Wabbit是一个机器学习系统,旨在推动机器学习技术的发展,如联网、散列法、归约、搜索学习2、主动以及相互学习。
Vowpal Wabbit的用途是迅速处理大规模数据库集并支持并行学习。该项目开始于雅虎,目前在微软研发。Vowpal Wabbit利用核外 (out-of-core) 分布式学习,曾经在一个小时内用1000个计算节点处理terabyte级别的 特征的数据集。
链接:https://github.com/JohnLangford/vowpal_wabbit
Aerosolve
★2538,Y 245
专为人类设计的机器学习软件包。
aerosolve评论
试图与其他库管理程序不同,Aerosolve注重人性化的调试工具,运用Scala代码进行训练,利用图像内容分析引擎,达到便于图像排名的目的,并通过功能转换语言为用户提供灵活性和控制功能。 Aerosolve实现了基于Thrift(译者注:Thrift 是Apache开发的多语言协作平台)特征呈现,在Aerosolve中,特征会按照逻辑分组,可以一次性地对整个特征组进行转换,或者将两个不同的特征簇组合到一起创建新的特征簇。
链接:http://airbnb.github.io/aerosolve/
GoLearn: 基于谷歌Go预言的机器学习项目
★2334,Y 215
GoLearn是一个为谷歌Go 语言开发的程序库。
其目标是为开发者提供一个功能全面、简单易用、可定制的软件包。 GoLearn实现了ScikitLearn的许多熟悉的拟合/预测算法,可以很容易调换机器学习算法,并实现了交叉验证和训练/测试分组之类的“辅助功能”。
链接:https://github.com/sjwhitworth/golearn
黑客的机器学习代码 (Machine Learning for Hackers)
★ 2003, Y 1446
“黑客的机器学习(Machine Learning for Hackers)“一书的伴随代码。
此项目包含来自O'Reilly的书《黑客的机器学习》的所有代码。所有代码均为R语言,依靠众多的R程序包,涉及主题包括分类(Classification),排行(Ranking),以及回归(Regression)的所有常见的任务,以及统计方法,如主成分分析(PCA)和多维尺度(Multi-dimenstional Scaling)等。