使用回归学习应用程序中的测试集检查模型性能
这个例子展示了如何在回归学习器中训练多个模型,并根据它们的验证指标确定表现最好的模型。检查在完整数据集(包括训练和验证数据)上训练的表现最佳的模型的测试指标。
在MATLAB中®命令窗口,加载
carbig
数据集,并创建一个包含大部分变量的表。将表分成训练集和测试集。负载carbigcartable = table(加速度,气缸,位移,...马力,Model_Year、重量、起源、MPG);rng (“默认”)%用于数据分割的再现性n =长度(MPG);分区= cvpartition(n,“坚持”, 0.15);idxTrain =训练(分区);%训练集的指数cartableTrain = cartable(idxTrain,:);cartableTest = cartable(~idxTrain,:);
或者,您可以稍后在将数据导入应用程序时创建一个测试集。有关更多信息,请参阅(可选)为测试预留数据.
开放回归学习器。单击应用程序选项卡,然后单击右侧的箭头应用程序部分打开应用程序库。在机器学习和深度学习组中,单击回归的学习者.
在回归的学习者选项卡,在文件部分中,点击新会话并选择从工作空间.
在“从工作区新建会话”对话框中,选择
cartableTrain
表中的数据集变量列表。如对话框所示,应用程序选择响应和预测变量。默认响应变量为
英里/加仑
.为了防止过度拟合,默认的验证选项是5倍交叉验证。对于本例,不要更改默认设置。若要接受默认选项并继续,请单击开始会议.
训练所有预设模型。在回归的学习者选项卡,在模型部分,单击箭头打开图库。在开始组中,单击所有.在火车部分中,点击火车都并选择火车都.该应用程序训练每种预设模型类型中的一种,以及默认的精细树模型,并在模型窗格。
请注意
如果您有并行计算工具箱™,那么应用程序有使用并行按钮默认开启。点击之后火车都并选择火车都或选择火车,该应用程序会打开一个并行的员工池。在此期间,您无法与该软件进行交互。泳池开放后,你可以继续与应用程序互动,而模型则并行训练。
如果你没有并行计算工具箱,那么应用程序有使用背景培训中的复选框。火车都默认选择的菜单。在你选择一个训练模型的选项后,应用程序会打开一个背景池。泳池开放后,当模特在后台训练时,你可以继续与应用程序互动。
根据验证均方根误差(RMSE)对训练后的模型进行排序。在模型窗格,打开排序列出并选择
RMSE(验证)
.在模型窗格中,单击验证RMSE最低的三个模型旁边的星形图标。该应用程序通过在一个框中概述它来突出显示最低验证RMSE。在这个例子中,训练有素的指数探地雷达模型的验证RMSE最低。
该应用程序显示线性回归模型(模型2.1)的响应图。蓝色点是真实值,黄色点是预测值。的模型左边的窗格显示了每个模型的验证RMSE。
请注意
验证在结果中引入了一些随机性。您的模型验证结果可能与本示例中显示的结果不同。
检查性能最好的模型的测试集性能。首先将测试数据导入应用程序。
在回归的学习者选项卡,在测试部分中,点击测试数据并选择从工作空间.
在“导入测试数据”对话框中,选择
cartableTest
表中的测试数据集变量列表。如对话框所示,应用程序识别响应和预测变量。
点击进口.
计算最佳预设模型的RMSE
cartableTest
数据。为方便起见,一次性计算所有模型的测试集RMSE。在回归的学习者选项卡,在测试部分中,点击测试所有并选择测试所有.该应用程序计算在完整数据集(包括训练和验证数据)上训练的模型的测试集性能。根据测试集RMSE对模型进行排序。在模型窗格,打开排序列出并选择
RMSE(测试)
.尽管显示了测试RMSE,但应用程序仍然概述了具有最低验证RMSE的模型的度量。可视化地检查模型的测试集性能。对于每个带星号的模型,在模型窗格。在回归的学习者选项卡,在情节和解释部分,单击箭头打开图库,然后单击预测与实际(测试)在测试结果组。
重新排列图的布局,以便更好地进行比较。首先,关闭的摘要和绘图选项卡模型1而且2.1模型.然后,单击位于模型绘图选项卡最右边的Document Actions箭头。选择
瓷砖都
选项并指定1 × 3的布局。单击隐藏图形选项按钮在图的右上方为图腾出更多的空间。在本例中,三个带星号的模型在测试集数据上的表现类似。
若要返回原始布局,可单击布局按钮。情节和解释部分并选择单型号(默认).
比较验证和测试RMSE的训练指数探地雷达模型。在模型窗格中,双击模型。在模型中总结选项卡,比较RMSE(验证)值下培训结果到RMSE(测试)值下测试结果.在本例中,验证RMSE低于测试RMSE,这表明验证RMSE可能高估了该模型的性能。