ML.NET 是一个跨平台的开源机器学习框架,使.NET开发人员使用机器学习变得很容易。
在这个GitHub 存储库中,我们提供了示例,这些示例将帮助您开始使用ML.NET,以及如何将ML.NET加入到现有的和新的.NET应用程序中。
注意: 请在机器学习存储库中打开与ML.NET框架相关的问题。请仅当您遇到此存储库中的示例问题时,才在存储库中创建该问题。
存储库中有两种类型的示例/应用程序:
根据场景和机器学习问题/任务,官方ML.NET示例被分成多个类别,可通过下表访问:
二元分类 | ||
情绪分析 C# F# |
垃圾信息检测 C# F# |
信用卡欺诈识别 (Binary Classification) C# F# |
心脏病预测 C# |
||
多类分类 | ||
GitHub Issues 分类 C# F# |
鸢尾花分类 C# F# |
手写数字识别 C# |
建议 | ||
产品推荐 C# |
电影推荐 (Matrix Factorization) C# |
电影推荐 (Field Aware Factorization Machines) C# |
回归 | ||
价格预测 C# F# |
销售预测 C# |
需求预测 C# F# |
时间序列预测 | ||
销售预测 C# |
||
异常情况检测 | ||
销售高峰检测 C# C# |
电力异常检测 C# |
信用卡欺诈检测 (Anomaly Detection) C# |
聚类分析 | ||
客户细分 C# F# |
鸢尾花聚类 C# F# |
|
排名 | ||
排名搜索引擎结果 C# |
||
计算机视觉 | ||
图像分类训练 (High-Level API) C# |
图像分类预测 (Pretrained TensorFlow model scoring) C# F# C# | 图像分类训练 (TensorFlow Featurizer Estimator) C# F# |
目标检测 (ONNX model scoring) C# C# |
横切情景 | ||
Web API上的可扩展模型 C# |
Razor Web应用程序上的可扩展模型 C# |
Azure Functions上的可扩展模型 C# |
Blazor Web应用程序上的可扩展模型 C# |
大数据集 C# |
使用DatabaseLoader加载数据 C# |
使用LoadFromEnumerable加载数据 C# |
模型可解释性 C# |
模型可解释性 C# |
前面的示例向您展示了如何使用ML.NET API 1.0(发布于2019年5月)。
但是,我们还在努力通过其他技术简化ML.NET的使用,这样您就不需要自己编写代码来训练模型,只需提供数据集即可,ML.NET将为您自动为您自动生成“最佳”模型和运行它的代码。
这些用于自动生成模型的附加技术处于预览状态,目前只支持二进制分类、多类分类和回归。在未来的版本中,我们将支持额外的ML任务,如建议、异常检测、聚类分析等。
ML.NET CLI(命令行界面)是一个可以在任何命令提示符(Windows,Mac或Linux)上运行的工具,用于根据您提供的训练数据集生成高质量的ML.NET模型。 此外,它还生成示例C#代码以运行/评分该模型以及用于创建/训练它的C#代码,以便您可以研究它使用的算法和设置。
CLI(命令行界面)示例 |
---|
二元分类示例 |
多类分类示例 |
回归测试示例 |
ML.NET AutoML API基本上是一组打包为NuGet包的库,您可以在.NET代码中使用它们。 AutoML消除了选择不同算法,超参数的任务。 AutoML将智能地生成许多算法和超参数组合,并为您找到高质量的模型。
自动化机器学习 API示例 |
---|
二元分类示例 |
多类分类示例 |
回归测试示例 |
高级实验示例 |
除了微软提供的ML.NET示例之外,我们还列出了社区创建的示例,这些示例位于单独的页面中: ML.NET 社区示例
这些社区示例不是由微软维护,而是由其所有者维护。 如果您已经创建了任何很酷的ML.NET示例,请将其信息添加到此REQUEST issue ,我们最终将在上面提到的页面发布其信息。
教程,机器学习基础知识等详细信息,请参阅ML.NET指南 。
请查看ML.NET API参考,了解各种可用的 API。
我们欢迎贡献! 请查看我们的贡献指南。
这个项目采用了贡献者契约规定的行为准则,以表明我们社区的预期行为。有关更多信息,请参见.NET基金会行为准则。