Board logo

标题: 使用 ML Pipeline 构建机器学习工作流(3) [打印本页]

作者: look_w    时间: 2018-6-23 11:49     标题: 使用 ML Pipeline 构建机器学习工作流(3)

运行示例程序在运行程序之前,读者需要把目标数据集上传至你的 HDFS 上,并把测试程序打成 jar 包。
清单 2. 示例程序运行命令及参数示例
1
./spark-submit --class com.ibm.spark.exercise.ml.ClassificationPipeline  \<br>--master spark://<spark_master>:<port>\<br>--num-executors 6 \<br>--driver-memory 3g \<br>--executor-memory 1g \<br>--executor-cores 1 /home/fams/spark_exercise-1.0.jar \ <br>hdfs://<hdfs_name_node>:<port>/user/fams/mllib/data_banknote_authentication.txt




当然如果你想采用“yarn-cluster”或者”yarn-client”的方式运行,运行命令会有稍许不同,并且根据你的集群状况的不同,可能命令也会发生稍许变化。
图 4. 示例程序运行结果预览 (部分)

从运行结果的预测错误来看,预测正确率基本可以达到近 98%,当然你可以按 9:1 去划分训练和测试数据集,这样可以得到更好的精确度。由此看来,随机森林算法的预测精度确实非常的好,当然这也取决于该组数据的模式比较明显,特征数据质量比较好。
注意事项总结本文向读者较为详细的介绍了 ML Pipeline 的基本概念和编程实现步骤,大家可以看到,较之 MLlib,ML Pipeline 在结构和逻辑层次上确实是更加清晰了。但是我认为 MLlib 对于处理结构相对简单的数据集其实依然具有优势,可能刚开始更容易被理解接受。另外从 Spark 的学习曲线上来讲,刚开始大家接触的都是 RDD,对 DataFrame 不甚了解,所以对于初学者对 MLlib 的方式其实更容易接受。所以,应该说 MLlib 和 ML Pipeline 都有各自的优势吧。当然,这更多是我个人的理解。希望这篇文章可以对大家学习 ML Pipeline 有帮助,在阅读过程中,有任何不懂或者发现任何问题,请留下您的评论,我会第一时间回答,这样也是一个交流学习的过程,非常感谢。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0