Julia的新机器学习框架MLJ,有6个选择理由
极客时间编辑部
讲述:杜力大小:1.19M时长:02:36
此前,Julia 新推出了完全用 Julia 写成的机器学习框架 MLJ,团队希望将其打造成一个灵活的、用于组合和调整机器学习模型、具备高性能、快速开发的框架。
据了解,MLJ 目前具备多种特性,比如自动调参、同质模型集成。无需加载模型代码元数据即可用、拥有清爽的概率接口、普遍采用分类数据类型,等等。
而对于为什么要抛弃已经很棒的机器学习工具箱 ScitkitLearn.jl(读音请参考谷歌翻译,下同),选择用 MLJ,也给出 6 个理由。
1.MLJ 纯
ScitkitLearn.jl 纯度太低,而 MLJ 则完全用 Julia 实现,速度可以与 C 媲美。同时,这种单一语言的设计提供了卓越的互操作性。
2. 模型元数据的注册表
在 ScikitLearn.jl 中,必须从文档中收集可用模型的列表,以及模型元数据。在 MLJ 中,这些信息更加结构化,MLJ 可通过外部模型注册表访问。这形成了“任务”界面的基础,并促进了模型组合。
3. 任务界面
一旦 MLJ 用户指定“任务”,MLJ 就可以自动搜索、匹配该任务的模型,从而协助系统基准测试和模型选择。
4. 灵活的 API
MLJ 的用户交互 API 基于灵活的“learning network”API 的要求,该 API 允许模型以基本上任意的方式连接(包括目标变换和逆变换)。在作为独立模型导出之前,可以分阶段构建和测试网络。
5. 清爽的概率 API
scikit-learn API 没有为概率预测的形式指定通用标准。通过沿着 skpro 项目的路线修复概率 API,MLJ 旨在改进对贝叶斯统计和概率图形模型的支持。
6. 普遍采用分类数据类型
Python 的科学数组库 NumPy 没有用于表示分类数据的专用数据类型,即没有跟踪所有可能类的池的类型。scikit-learn 模型的解决之道是将数据重新标记为整数。
Julia 团队宣称当用户在重新标记的分类数据上训练模型之后,由于分类特征出现了在训练中未观察到的值,导致代码崩溃。而 MLJ 则通过坚持使用分类数据类型,并坚持 MLJ 模型实现保留类池来缓解此类问题。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论