温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
当我们在跑机器学习程序,尤其是调节网格参数时,通常待调节的参数有很多,参数之间的组合更是复杂。Python的sklearn包中GridSearch模块,能够在指定的范围内自动搜索具有不同超参数的不同模型组合,在数据量过于庞大时对于单节点的运算存在效率问题,本篇文章Fayson主要介绍如何将Python中的GridSearch搬到CDH集群中借助于Spark进行分布式运算。
- 内容概述
1.环境准备
2.Python和PySpark代码示例
3.示例运行
- 测试环境
1.CM和CDH版本为5.14.2
2.Redhat7.4
3.Spark2.2.0
2.环境准备
1.在CDH集群的所有节点执行如下命令安装OS依赖包
(可左右滑动)
2.在集群所有节点安装Python的依赖包
(可左右滑动)
(可左右滑动)
(可左右滑动)
(可左右滑动)
3.Python版GridSearch代码
如下是Python版本的GridSearch示例代码:
(可左右滑动)
4.Pyspark版GridSearch代码
如下是PySpark的示例代码:
(可左右滑动)
5.示例运行
1.在Spark2的Gateway节点上使用spark2-submit命令提交运行
(可左右滑动)
命令行显示作业运行成功,日志如下:
查看Yarn的8080界面,作业显示执行成功
查看Spark2的History,可以看到作业是分布在CDH集群的多个节点上运行
6.总结
1.在CDH集群中分布式运行Gridsearch算法时,需要将集群所有节点安装Python的sklearn、numpy、scipy及spark-sklearn依赖包
2.代码上需要将引入spark-learn包下的grid_search
3.关于spark-learn包中更多API请参考如下文档:
https://databricks.github.io/spark-sklearn-docs/#id5
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操