Spark的39个机器学习库-中文

穿精又带淫゛_ 提交于 2019-12-06 23:17:22

//Apache Spark 本身//


1.MLlib

>AMPLab

Spark最初诞生于伯克利 AMPLab实验室,如今依然还是AMPLab所致力的项目,尽管这些不处于Apache Spark Foundation中,但是依然在你日常的github项目中享有相当的地位。 

>ML Base

Spark本身的MLLib位于三层ML Base中的最底层,MLI位于中间层,ML Optimizer则处于最为抽象的顶层。


2.MLI


3.ML Optimizer (又称 Ghostface)

Ghostware这个项目在2014年就开始进行了,不过从未对外公布。在这39个机器学习库中,这是唯一一个雾件,之所以能囊括在这列表中,全凭着AMPLab与ML Base的地位支撑。


//ML Base之外//


4.Splash

这是近期2015年6月的一个项目,在运行随机梯度下降(SGD)时这套随机学习算法声称在性能上比Spark MLib中快了25%-75%。这是AMPLab实验室的sp标记项目,因此值得我们去阅读。

5.Keystone ML

KML将端到端的机器学习管道引进到了Spark中,但在近期Spark版本中管道已经趋于成熟。同样也承诺具有一些计算机视觉能力,我曾经在博客中也提到过这也存在一些局限。


6.Velox

作为一个服务器专门负责管理大量机器学习模型的收集。


7.CoCoA

通过优化通信模式与shuffles来实现更快的机器学习,详情可见这篇论文的描述《高效通信分布式双坐标上升》。


//框架:GPU-based//


8.DeepLearning4j

我曾经的一则博客有进行说明 《DeepLearning4J 增加了Spark gpu的支持》。


9.Elephas

全新的概念,这也是我写这篇博客的初衷。它提供了一个接口给Keras。


//框架:Non-GPU-based//


10.DistML

模式并行下而并非数据并行的参数服务器(正如 Spark MLib)。


11.Aerosolve

来自Airbnb,用于他们自动化定价。


12. Zen

逻辑斯谛回归、隐含狄利克雷分布(LDA)、因子分解机、神经网络、受限玻尔兹曼机。


13.Distributed Data Frame

与Spark DataFrame类似,但是引擎是不可知的(例如在未来它将运行在引擎上而不是Spark)。其中包括了交叉验证和外部机器学习库的接口。



//其他机器学习系统的接口//


14. spark-corenlp

封装了斯坦福CoreNLP。


15. Sparkit-learn

给Python Scikit-learn的接口。


16. Sparkling Water

给H2O的接口。


17. hivemall-spark

封装了Hivemall,,在Hive中的机器学习。


18. spark-pmml-exporter-validator

可导出预测模型标记语言(PMML),一种用于传递机器学习模型的行业标准的XML格式。


//附加组件:增强MLlib中现有的算法//


19. MLlib-dropout

为Spark MLLib 增加dropout能力。基于以下这篇论文进行的实现,《Dropout:一个简单的方法来防止神经网络中的过拟合》。


20.generalized-kmeans-clustering

为K-Means算法增加任意距离函数。


21. spark-ml-streaming

可视化的流式机器学习算法内置于Spark MLlib。


//算法:监督学习//


22. spark-libFM

因子分解机。


23. ScalaNetwork

递归神经网络(RNNs)。


24. dissolve-struct

基于上文中提到的高性能Spark通信框架CoCoA下的支持向量机(SVM)。


25. Sparkling Ferns

基于以下这篇论文进行的实现,《通过使用随机森林与随机蕨算法的图像分类技术》。


26. streaming-matrix-factorization

矩阵分解推荐系统。



//算法:无监督学习//


27. PatchWork

聚类的速度比Spark MLlib 中的K-Means算法提升了40%。


28. Bisecting K-Meams Clustering 

可产生更多相同大小簇的K-Means算法,是基于《文档分类技术对比》一文的实现。


29. spark-knn-graphs

通过使用K近邻算法与位置敏感哈希函数(LSH)来建立图。


30. TopicModeling

在线隐含狄利克雷分布, 吉布斯采样隐含狄利克雷分布,在线层次狄利克雷过程(HDP)算法构建块。


31. sparkboost

自适应提升算法与MP-Boost算法。


32. spark-tfocs

整合到Spark中的TFOCS(一阶圆锥曲线求解器模板),如果你机器学习中的代价函数恰好是凸函数,那么便可以运行TFOCS来解决问题。33. lazy-linalg运用Spark MLlib中的linalg包来完成线性代数操作。


//特征提取//


34.spark-infotheoretic-feature-selection

特征选择的信息理论基础。基于《条件最大似然方法:一种统一的框架用于信息理论下的特征选择》该文的实现。


35. spark-MDLP-discretization

对于数据标签,对其中的一部分连续的数字维度进行“离散化”,通过这样便可以让每箱的数据类相对分布均匀。这是CART与ID3算法生成决策树的基本想法。基于《对分类学习中连续值属性的多区间离散化》该文的实现。


36. spark-tsne

分布式t-SNE算法用于数据降维。


37. modelmatrixSparse feature vectors

稀疏特征向量。


//特定领域//


38. Spatial and time-series data

K均值算法、回归算法与统计方法。


39. Twitter data

2015-09-30更新内容: 正是由于看到reddit.com上的一篇关于Spark深度学习框架Elephas 的文章进而让我动起了编辑这分类列表的念头,其实从中大多数项目都是来自于 AMPLab与 spark-packages.org,还有一对是来自于内存中。之后我会不断关注AMPLab与spark-packages.org的进展以便更新(尽管这博客只是一篇静态列表)。如果想了解如何去保持一个快速发展的Spark生态系统,那么可以来看我在2015年二月所录制的十分钟演讲。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!