预定型网站有哪些,seo英文全称,浙江因家软装设计有限公司,2018建设工程管理招团支部网站今天我来讲下如何在 Zeppelin 里做机器学习。机器学习的重要性我就不多说了#xff0c;我们直奔主题。
Flink 在机器学习这个领域发力较晚#xff0c;社区版没有一个完整的机器学习算法库可以用#xff0c;Alink[1]是目前 Flink 生态圈相对比较完整的机器学习算法库#x…今天我来讲下如何在 Zeppelin 里做机器学习。机器学习的重要性我就不多说了我们直奔主题。
Flink 在机器学习这个领域发力较晚社区版没有一个完整的机器学习算法库可以用Alink[1]是目前 Flink 生态圈相对比较完整的机器学习算法库Alink 也在往 Flink 社区贡献的路上。今天我主要讲的就是如何在 Zeppelin 里使用 Alink。
为什么在 Zeppelin 平台使用 Alink
Zeppelin 已经很好的集成了 Flink在 Zeppelin 中使用 Alink 可以充分利用 Zeppelin 集成 Flink 所提供的特性包括
支持丰富的执行模式Local/Remote/Yarn支持对接 Hive支持 UDF ScalaPython支持 SQL Batch SQL Streaming SQL)支持可视化
有关 Flink on Zeppelin 的具体特性支持可以参考下面的文章和钉钉直播视频。
Flink on Zeppelin 文章系列
Flink on Zeppelin1入门篇Flink on Zeppelin2Batch 篇Flink on Zeppelin3Streaming 篇
Flink on Zeppelin 直播系列
Flink on Zeppelin: 极致体验(1) 入门 Batchhttps://ververica.cn/developers/flink-training-course3/Flink on Zeppelin: 精致体验(2) Streaming 高级应用https://ververica.cn/developers/flink-training-course3/
准备工作
首先你需要安装 Zeppelin Flink Alink
安装 Zeppelin 和 Flink请参考 Flink on Zeppelin 入门篇运行下面的命令安装 pyalink
pip install pyalink 安装 Alink jar 包 安装完 pyalink 之后你可以在 python 目录里找到 Alink 的 jar 包然后把这些 jar 包 copy 到 Flink 的 lib 目录下这是我的机器上的 jar 包位置验证 Alink
现在你可以就可以在 Zeppelin 里运行 Alink 了有关 Alink 的具体用法我就不再详述大家可以参考1。首先我们来运行下面的代码来验证下前面的准备工作是否正确完成是否能在 Zeppelin 里运行 Alink。 如果你看到了下面的输出那么说明 Alink 已经正确安装。
Warning: useCustomEnv will do nothing, since useCustomEnv is used to initialize MLEnv.a b
0 1 2
1 2 5
2 3 1
上面最重要的一行代码是这行
mlenv useCustomEnv(gateway,b_env,bt_env_2, s_env, st_env_2)
mlenv 是 Alink 的入口b_env, bt_env_2, s_env, st_env_2 是 Zeppelin 为 Flink 创建的变量代表 ExecutionEnvironmentBatchTableEnvironment, StreamExecutionEnvironment, StreamTableExecutionEnvironment)。这里的 bt_env_2 和 st_env_2 代表支持 Flink Planner 的 TableEnvironment因为 Alink 目前是基于 DataSet 的只支持 Flink Planner所以这里需要用 bt_env_2, st_env_2。具体可参考Batch篇
Logsitic Regression
接下来我会以 Alink 的 Logstic Regression 算法来演示如何在 Zeppelin 中使用 Alink。在这个 demo 中我会选用 bank 数据这也是我在 Batch 篇中使用的数据。机器学习的模型训练往往只是整个机器学习任务的一小步在做机器学习之前往往需要清理数据数据分析等等。这里的 Bank 数据就是我的 Batch 篇中用 Flink 引擎清理过的数据。 bank 数据https://archive.ics.uci.edu/ml/datasets/bankmarketing Step 1. 定义训练数据测试数据 Step 2. 定义训练特征和目标 Step 3. 构建 Pipeline 运行 Step 1 和 Step 2 都会非常快因为没有触发 Flink JobStep 3 会触发 Flink Job开始真正的机器学习训练右上角你会看到 Flink 的 Job Link。
Step 4. 查看 Model Metrics 训练模型结束之后只是整个机器学习任务的一小步之后你往往需要反复修改代码来改进模型查看模型的 Metrics 就是其中很重要的一步从模型的 Metrics 之中你往往可以看出一些端倪给改进模型寻找方向。
■ Step 5. 错误数据诊断 除了查看 Model Metrics你还可以看看那些没有被正确分类的数据从这些数据中寻找线索。
这个就是如何在 Zeppelin 中使用 Alink 来做机器学习正如之前所述模型训练只是机器学习的一小步机器学习之前你往往需要做数据清理数据探索等等这时候你就可以利用 Zeppelin 中集成的 Flink 能力来做这些事情总之你可以在 Zeppelin 这个平台完成整个端到端的数据处理数据分析机器学习整条链路。
如果有碰到任何问题请加入下面这个钉钉群讨论。 原文链接 本文为云栖社区原创内容未经允许不得转载。