首页 文章

具有随机森林的Spark Process Dataframe

提问于
浏览
0

使用Spark 1.5.1, MLLib Random Forest Probability的答案,我能够使用ml.classification.RandomForestClassifier训练一个随机森林,并使用训练的随机森林处理一个保持数据帧 .

我遇到的问题是我希望将这个经过训练的随机森林保存到将来处理任何数据帧(具有与训练集相同的功能) .

classification example on this page使用mllib.tree.model.RandomForestModel,它显示了如何保存训练有素的森林,但据我所知,只能在标记点RDD上进行训练(并在将来处理) . 我对标记点RDD的问题是,它只能包含标签double和特征向量,所以我将失去我为其他目的所需的所有非标签/非特征列 .

所以我想我需要一种方法来保存ml.classification.RandomForestClassifier的结果,或者构建一个标记点RDD,它可以保留除了通过mllib.tree.model.RandomForestModel训练的林所需的标签和特征之外的列 .

任何人都知道为什么这两个而不仅仅存在ml和mllib库中的一个?

非常感谢您阅读我的问题,并提前感谢任何解决方案/建议 .

1 回答

  • 0

    我将重新使用spark编程指南中的内容:

    spark.ml包旨在提供一组基于DataFrame构建的统一的高级API,帮助用户创建和调整实用的机器学习流程 .

    在Spark中,核心功能是它的RDD . 如果您感兴趣,可以在该主题上找到一篇优秀论文,我可以在以后添加链接 .

    来自MLLib,最初是一个独立的图书馆,并融入了Spark项目 . 然而,Spark中的所有机器学习算法都写在RDD上 .

    然后将DataFrame抽象添加到项目中,因此需要一种更实用的构建机器学习应用程序的方法来包括变换器和评估器,最重要的是管道 .

    对于这个问题,数据工程师或科学家不需要研究底层技术 . 因此抽象 .

    您可以同时使用这两种方法,但是您需要记住,您在ML中使用的所有算法都是在MLlib中进行的,然后进行抽象以便于使用 .

相关问题