MLlib的设计理念非常简单,把数据以RDD的形式表示,然后分布式数据集上调用各种算法。
需要注意的是,MLlib中只包含能够在集群上运行良好的并行算法。有些经典的机器学习算法没有包含在其中,就是因为他们不嗯给你并行执行。相反地,一些较新的研究得出的算法因为适用于集群,也被包含在MLlib中,例如分布式随机森林算法。这样的选择使得MLlib中的每一个算法都适用于大规模数据集。如果你要在许多小规模数据集上训练各机器学习模型,最好还是在各节点上使用单节点的机器学习算法库实现。在Spark中,你可以用过把参数列表传给parallelize来在不同的节点上分别运行不同的参数,而在每个节点上则使用单节点的机器学习库来实现。
MLlib需要你的机器预装一些线性代数的库。
原文:http://www.cnblogs.com/cyoutetsu/p/6351724.html