ML.NET v1.6 发布有一段时间了,所有详细信息在此,可以了解到更多细节或实现,本文把比较新鲜有趣的内容摘要出来。

此版本中增加了很多东西,但它们确实注意到,添加的所有内容都没有中断更改。

支持 ARM

这次更新最令人兴奋的部分是对ARM架构的新支持。这将允许在 ML.NET 进行大多数场景的训练和推论项目。ARM架构几乎无处不在。如六月更新博客文章中所述,此 ARM 架构包含在移动和嵌入式设备上。这可以为手机和 IoT 设备的 ML.NET 开辟全新的世界。

DataFrame 更新

DataFrame API 可能是目前处于早期阶段的特性之一。主要还是由于 .NET 与 Python 中常见库 pandas 在数据分析上面不存在竞争,在将数据发送到 ML.NET 进行建模之前,你可能需要处理一些预处理。现在 DataFrame API 已经进入 ML.NET 主库 ,该代码以前作为实验包在 CoreFx Lab存储库中,但现在它不再是实验性的,现在已是 ML.NET 的一部分意味着项目计划持续更新。

其他 DataFrame 更新包括:

  • GroupBy 扩展 - 虽然 DataFrame API 已支持 GroupBy,但此更新增加了新的属性分组,使其更像 LINQ 的 GroupBy 操作。
  • 改进的CSV解析- 实现加载CSV文件时可以使用的解析。这允许在列中处理报价。TextFieldParser
  • 将 IDataView 转换为 DataFrame - 我们之前已经有办法将对象 DataFrame 通过 DataFrame API 转换为能够加载在 ML.NET 中的 IDataView,现在我们可以执行相反的做法,以便对它进行进一步分析。
  • 改进的日期时间转换 - 这允许更好地分析日期时间数据。
  • 排序合并方法的改进 - 这些更新允许在执行排序或合并时更好地处理空字段。

顺便说一下,现在贡献 ML.NET 存储库,从 DataFrame API 开始参与是个好方法。他们已经有相当多的问题,你可以加以改完善,以期达到 pandas 对等的能力,让 C# 具有数据分析的生态系统。

您可以使用微软 Microsoft.Data.Analysis 标签来筛选它们,以便您可以查看现有的哪些 Issues。

代码增强

相当多的增强更新是代码质量更新。事实上,feiyun0112 有几次 pull 请求,提高了回购的代码质量,帮助人们更容易阅读和维护它。

杂项更新

还有一些并非专门主题的更新,列出来值得了解一下。

推荐通过完整 ML.NET v1.6 版本的发行说明掌握更新情况。