这个项目能做什么

ML.NET 是一个为 .NET 生态系统构建的跨平台、开源机器学习框架。其核心价值在于让 .NET 开发者无需具备机器学习专业知识或掌握 Python、R 等其他语言,即可在应用程序中构建、训练、部署和使用自定义机器学习模型。 该框架集成了完整流程:从文件和数据库加载数据、数据转换,以及内置的机器学习算法库。它支持多种常见场景,包括分类、预测和异常检测。除了原生训练器外,ML.NET 还可以使用 TensorFlow 和 ONNX 模型,这拓宽了支持场景的范围,并使框架更具可扩展性。 平台支持广泛。ML.NET 通过 .NET Core 在 Windows、Linux 和 macOS 上运行,并通过 .NET Framework 在 Windows 上运行。它还支持 ARM64、Apple M1 和 Blazor WebAssembly,但有一些文档中说明的平台限制。所有平台均支持 64 位;Windows 上支持 32 位,但 TensorFlow 和 LightGBM 相关功能除外。 通过 NuGet 分发。主要包是 Microsoft.ML,可通过 .NET Core CLI(`dotnet add package Microsoft.ML`)、NuGet 包管理器(`Install-Package Microsoft.ML`)、Visual Studio 的包管理器或 Paket 安装。每日构建也发布到 Azure DevOps 源。该项目需要 .NET Core 2.1 或更高版本,或 .NET Framework 4.6.1 或更高版本(建议 4.7.2+)。 README 中展示了典型工作流程:创建 MLContext,使用文本加载器加载 CSV,构建学习管道,该管道对文本进行特征化并附加二元分类训练器(FastTree),拟合模型,然后创建预测引擎以对新输入进行评分。README 指向单独的示例仓库(dotnet/machinelearning-samples)以获取完整示例,以及文档、API 参考、教程和 YouTube 播放列表。 发布节奏与 .NET 发布列车绑定:主要 ML.NET 版本每年随主要 .NET 版本发布一次(2021 年 11 月 ML.NET 1.7 随 .NET 6,ML.NET 2.0 随 .NET 7,依此类推),并维护发布分支以进行服务。CI 覆盖范围包括 CentOS、Ubuntu、macOS、Windows x64、Windows 完整框架、Windows x86 和 Windows .NET Core 3.1,并包含 Debug 和 Release 配置。 ML.NET 采用 MIT 许可证,可免费用于商业用途,是 .NET 基金会的一个项目。该项目欢迎贡献,并在 Discord 上有活跃的社区,以及定期的 .NET 机器学习社区例会。