ML.NET: csv 加载的类型推断?

ML.NET: type inference for csv loading?

ML 库的最低要求是它能够推断现实世界 ML 应用程序中数量异常多的字段的类型(例如:2,000)。

真实世界的 ML 应用程序存在于管道中。从字面上看:一个管道,如 UNIX/Linux 风格的 fifoq,命名管道由管道符号连接。不是在用第三方语言编写并编译的文档中称为 "pipeline" 的抽象。这些管道是通用的(一般来说,不是模板化的)类型,并且与 UNIX/Linux 管道关联的所有工具都在运行时推断类型。

这些工具允许动态生成 csv 字段和类型并将其扩展到超出单个文件手动编码能力的任意宽度。

所以,再次重申,ML 库的最低要求是它能够打开 ML 文件,而无需在 ML 工程师可以使用 GNU 推出整个系统时在他的膝盖上投入工作时间表工具 + Python 在相同的时间内。

这意味着推断可能动态生成且快速变化的 CSV 文件中的大量字段的类型。理想情况下,相同的二进制控制台应用程序可用于不断发展或开发管道的各个阶段的 CSV 数据,这样就不需要注释字段类型和重新编译。

除了 F# 的 CsvProvider 和 C# 的可用 CSV 库之外,我正在审查 ML.NET 数据 IO 系统。我也在审查 CLR/CLI 互操作,因为我可以构建 C++ CSV 推理系统,但 CLR/CLI VS 模板似乎仅适用于 Windows 平台。

似乎无法加载具有推断的基本类型(datetime、double、int、string)的 CSV。这样的评价准确吗?

查看 new Dataframe API。它有一个 LoadCsv 方法可以推断列类型并且它与 ML.NET 的 IDataView.

兼容