培训
模块
使用 ML.NET Model Builder 训练机器学习模型进行预测性维护 - Training
本模块将介绍如何使用 ML.NET Model Builder 来训练和使用机器学习模型进行预测性维护。
认证
Microsoft Certified: Azure Data Scientist Associate - Certifications
使用 Python、Azure 机器学习和 MLflow 管理数据引入和准备、模型训练和部署以及机器学习解决方案监视。
本教程介绍如何使用 ML.NET 模型生成器生成回归模型来预测价格。 本教程中开发的 .NET 控制台应用基于历史纽约出租车费用数据预测出租车费用。
模型生成器价格预测模板可用于任何需要数值预测值的场景。 示例方案包括:房价预测、需求预测和销售预测。
有关先决条件和安装说明的列表,请访问 Model Builder 安装指南。
创建名为“TaxiFarePrediction”的 C# 控制台应用程序。 请确保将解决方案和项目放在同一目录中为未选中状态。
在项目中创建名为 Data 的目录来存储数据集文件。
用于训练和评估机器学习模型的数据集最初来自 NYC TLC 出租车行程数据集。
若要下载数据集,请导航到 taxi-fare-train.csv 下载链接。
加载页面时,右键单击页面上的任意位置并选择“另存为。
使用“另存为”对话框 将文件保存在在上一步创建的 数据 文件夹中。
在解决方案资源管理器 中,右键单击 taxi-fare-train.csv 文件,然后选择 属性。 在“高级”下,将“复制到输出目录”的值更改为“如果较新则复制”。
taxi-fare-train.csv
数据集中的每个行都包含出租车行程的详细信息。
打开 taxi-fare-train.csv 数据集
提供的数据集包含以下字段:
label
是要预测的列。 执行回归任务时,目标是预测数值。 在此价格预测方案中,将预测出租车乘车费用。 所以“fare_amount”是标签。 标识的 features
是为模型提供的用来预测 label
的输入。 在这种情况下,剩余的列(trip_time_in_secs 除外)都用作特征或输入来预测车费金额。
首次将模型生成器添加到解决方案时,系统会提示你创建 mbconfig
文件。 mbconfig
文件跟踪模型生成器中所做的一切,以便重新打开会话。
mbconfig
项目命名为 TaxiFarePrediction,然后单击“添加”按钮。若要训练模型,需要从模型生成器提供的可用机器学习方案列表中选择。 在本例中,选择的方案是 Value prediction
。
模型生成器可以根据所选方案在不同的环境中运行训练。
Local (CPU)
项,然后单击 下一步 按钮。模型生成器接受来自两个源的数据:SQL Server 数据库或 csv 或 tsv 格式的本地文件。
本教程中用于训练价格预测模型的机器学习任务是回归。 在模型训练过程中,模型生成器使用不同的回归算法和设置训练单独的模型,以查找数据集的最佳性能模型。
模型训练所需的时间与数据量成比例。 模型生成器根据数据源的大小自动为 训练时间(秒) 选择默认值。
在训练过程中,进度数据显示在训练步骤中的 Training results
部分。
训练完成后,mbconfig
文件将生成一个名为 TaxiFarePrediction.zip
的模型,并附带两个 C# 文件:
单击 下一步 按钮导航到评估步骤。
训练步骤的结果将是一个具有最佳性能的模型。 在 Model Builder 工具的评估步骤中,“最佳模型”部分将包含“模型”项中性能最佳的模型使用的算法,并包含“RSquared”中的指标。
此外,在 Visual Studio 的 输出 窗口中,将显示一个包含最佳模型及其指标的汇总表。
本部分还将允许你通过执行单个预测来测试模型。 它将提供用于填充值的文本框,你可以单击“预测”按钮从最佳模型获取预测。 默认情况下,数据集中的随机行将填充此行。
如果对准确性指标不满意,尝试和改进模型准确性的一些简单方法是增加训练模型或使用更多数据的时间量。 否则,单击“下一步”导航至使用步骤。
此步骤将包含可用于使用模型的项目模板。 此步骤是可选的,可以选择最适合你如何为模型提供服务的方法。
将控制台应用添加到解决方案时,系统会提示你为项目命名。
将控制台项目命名为 TaxiFare_Console。
单击“添加到解决方案”以将项目添加到当前解决方案。
运行应用程序。
程序生成的输出应类似于以下代码片段:
Predicted Fare: 15.020833
将 Web API 添加到解决方案时,系统会提示你为项目命名。
将 Web API 项目命名为 TaxiFare_API。
在 上单击“添加到解决方案*”以将项目添加到您的当前解决方案中。
运行应用程序。
打开 PowerShell 并输入以下代码,其中 PORT 是应用程序正在侦听的端口。
$body = @{
Vendor_id="CMT"
Rate_code=1.0
Passenger_count=1.0
Trip_distance=3.8
Payment_type="CRD"
}
Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
如果成功,输出应类似于以下文本:
score
-----
15.020833
若要详细了解本教程中提到的主题,请访问以下资源:
培训
模块
使用 ML.NET Model Builder 训练机器学习模型进行预测性维护 - Training
本模块将介绍如何使用 ML.NET Model Builder 来训练和使用机器学习模型进行预测性维护。
认证
Microsoft Certified: Azure Data Scientist Associate - Certifications
使用 Python、Azure 机器学习和 MLflow 管理数据引入和准备、模型训练和部署以及机器学习解决方案监视。