开源机器学习平台 Alink 最新版本在易用性上有哪些优化?

239 阅读2分钟

2019年11月28日,在 Flink Forward Asia 大会上,机器学习算法平台 Alink 宣布开源,成为众多开发者关注的焦点。今年2月,Alink 1.10 发布,对 Flink 1.10 和 Flink 1.9 提供了支持。近期 Alink 团队持续发力,发布了最新的 Alink 1.1.1 版本,不仅开发了新功能,还对部分已有功能进行了增强和完善。

本文将详解介绍 Alink 1.1.1 版本中的新增功能及修复内容,并分享 Alink 1.1.1 在易用性方面的小技巧。

版本更新下载及 Github 送 Star
github.com/alibaba/Ali…

Alink 1.1.1 Release Note 概览

Alink 1.1.1 增强功能和新功能:

  • 数据列参数的检验和提示
  • 枚举类型参数的检验和提示
  • 优化 Alink 批式组件与 Python Dataframe 之间数据转换的速度
  • 当 useRemoveEnv 时自动检测 localIp
  • 新增组件,将 CSV、JSON 和 KV 格式的字符串解析为多列
  • 新增组件 WindowGroupByStreamOp,简化流式数据的窗口分组操作
  • Tokenizer 支持多个空格的字符串拆分
  • 添加 FTRL 示例

Alink 1.1.1 修复和完善:

  • 修复 dill 版本冲突
  • 修复 HasVectorSize 别名错误
  • 修复使用 collect 方法时出现 mysqlsource 错误

了解更多 Alink 1.1.1 feature:
github.com/alibaba/Ali…

Alink 1.1.1 在易用性方面的小技巧

在使用 Alink 算法时,经常遇到一些枚举类型的参数,譬如:对于卡方特征选择器 ChiSqSelector,其参数 SelectorType 可以填写 NumTopFeatures、Percentil、FPR 等,是枚举类型,但是我们在写脚本的时候,可能会记错,譬如,我们输入了“aaa”,脚本代码如下:

在之前的 Alink 版本,会显示如下信息:

SelectorType 输出错误的值 AAA,异常信息不明显,没有指出是哪个参数写错了。

在 1.1.1 版本优化之后, 异常信息中会有哪个参数填写错误,和值可能是什么。

如果使用 Java 编辑器,建议使用枚举类型作为参数的方法,编辑器的自动提示进行选择。

我们在使用算法组件的时候还经常遇到这种情况,算法中会有些列名参数,我们也有输入错误的可能,如下图所示,将 text 列名写为 text1。

在 1.1.1 版本里,不仅抛出哪列不存在,也会提示最可能的列名,帮助用户做判断。