什么是模型生成器?
机器学习是一种使用数学和统计学来识别数据中的模式而无需显式编程的技术。 Model Builder 是一种用于通过使用 ML.NET 训练和部署自定义机器学习模型的图形化 Visual Studio 扩展。
例如,假设你要预测房屋的价格。 如果单纯使用一种特征(如房屋面积,以平方英尺为单位)来估算房价,你可能会编写一种启发式算法,将较大的房屋与较高的价格联系起来。
不过现实中并非总是如此简单。 许多变量会影响房价。 在这种情况下,提出一种简单的启发算法来捕获边缘情况会变得困难,而机器学习可能是更好的解决方案。
对于机器学习,可根据实际观察使用历史数据识别这些规则,而不用对规则进行显式编程。 通过机器学习发现的模式随后用于创建一个名为模型的项目,用于使用和以前未见过的数据进行预测。
ML.NET 是适用于 .NET 的开放源代码的跨平台机器学习框架。 因此,你可以应用现有的 .NET 技能并使用熟悉的工具(如 Visual Studio)来训练机器学习模型。
可以使用 Model Builder 解决哪些类型的问题?
可以使用 Model Builder 解决许多常见的机器学习问题,例如:
- 对数据进行分类:按主题整理新闻文章。
- 预测数值:估算房价。
- 对具有类似特征的项目分组:细分客户。
- 推荐项目:推荐电影。
- 对图像进行分类:根据图像内容标记图像。
- 检测图像中的物体:检测十字路口的行人和自行车。
如何使用 Model Builder 生成模型?
通常,向应用程序添加机器学习模型的过程包含两个步骤:训练和使用。
培训
训练是将算法应用于历史数据以创建捕获潜在模式的模型的过程。 然后,可以使用该模型对新数据进行预测。
Model Builder 使用自动化机器学习 (AutoML) 找出应用于数据的最佳模型。 AutoML 自动执行将机器学习应用到数据的过程。 你可以对数据集运行 AutoML 试验来循环访问不同的数据转换、机器学习算法和设置,然后选择最佳模型。
使用模型生成器不需要具备机器学习的专业知识。 你所需要的只是一些数据和要解决的问题。
模型训练过程包括以下步骤:
- 选择场景 - 你想解决什么问题? 选择的场景取决于数据和要预测的内容。
- 选择环境 - 你要在何处训练模型? 根据可用计算资源、成本、隐私要求和其他因素,你可以选择在本地计算机上或在云中训练模型。
- 加载数据:加载要用于训练的数据集。 定义要预测的列,然后选择要用作预测输入的列。
- 训练模型:让 AutoML 根据你选择的场景选择最适用于数据集的算法。
- 评估模型:使用指标来评估模型的性能和模型对新数据的预测。
消耗
训练机器学习模型后,就可以用它来预测。 “使用”是使用已训练机器学习模型对新的和以前未见过的数据进行预测这一过程。 使用 Model Builder 时,可以通过新的和现有的 .NET 项目使用机器学习模型。
基于 ML.NET 的机器学习模型会进行序列化并保存到文件中。 然后,模型文件可以加载到任何 .NET 应用程序中,并用于通过 ML.NET API 进行预测。 这些应用程序类型包括:
- ASP.NET Core Web API
- Azure Functions
- Blazor
- Windows Presentation Foundation (WPF) 或 Windows 窗体 (WinForms)
- 主机
- 类库
下一单元将介绍在 Model Builder 中训练机器学习模型的过程。