ml.net - ML.NET:用于 csv 加载的类型推断?
问题描述
ML 库的最低要求是它能够推断现实世界 ML 应用程序中大量字段的类型(例如:2,000)。
真实世界的 ML 应用程序存在于管道中。字面意思是:UNIX/Linux 风格的 fifoq 中的管道,通过管道符号连接的命名管道。不是在以第三方语言编写并编译的文档中称为“管道”的抽象。这些管道通常是(通常不是模板化的)类型化的,并且与 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 平台上工作。
似乎无法加载具有推断的基本类型(日期时间、双精度、整数、字符串)的 CSV。这是一个准确的评估吗?
解决方案
查看新的 Dataframe API。它有一个LoadCsv
方法可以推断列类型,并且与 ML.NET 的IDataView
.
推荐阅读
- asp.net - asp.net core 不区分大小写
- email - 如何将电子邮件从雅虎小型企业转移到 gmail 企业
- google-kubernetes-engine - 未能下载令牌 GKE 集群
- javascript - 如何在本机反应中过滤数组?
- swiftui - 在 SwiftUI 中,如何在底部工具栏上方绘制视图?
- ruby - 不会打印出所有的字符串
- python - 使用 MongoDB 更新避免 for 循环
- excel - VBA6 中的 ADODB RecordsetChangeComplete 事件处理程序声明
- user-input - 我如何接受这样的输入?(多行)
- c - 当我尝试运行命令“ar”来创建我的库时,我得到“ar:libft.a:文件格式无法识别”