主要内容

在分类学习中评估分类器的表现

在Classification Learner中训练分类器后,您可以根据准确率分数比较模型,通过绘制类预测图来可视化结果,并使用混淆矩阵和ROC曲线检查性能。

  • 如果你使用k-fold交叉验证,然后应用程序使用k验证折叠并报告平均交叉验证错误。对验证折线中的观测数据进行预测,并根据预测结果计算混淆矩阵和ROC曲线。

    请注意

    当你导入数据到应用程序时,如果你接受默认值,应用程序会自动使用交叉验证。想要了解更多,请看选择验证方案

  • 如果你使用“hold out”验证,应用程序就会利用验证折叠中的观察结果计算出准确率分数,并对这些观察结果做出预测。该应用程序还会根据这些预测计算混淆矩阵和ROC曲线。

  • 如果使用重新替换验证,则得分是基于所有训练数据的重新替换准确率,而预测是重新替换预测。

在模型窗格中检查性能

在分类学习者中训练一个模型后,检查模型窗格,以查看哪个模型有最好的整体精度百分比。最好的准确性(验证)分数在方框中高亮显示。这个分数就是验证的准确性。验证准确性得分估计了模型在新数据上与训练数据相比的表现。用这个分数来帮助你选择最好的模型。

  • 对于交叉验证,分数是所有观察的准确性,计算每一个观察在一个保留(验证)折叠。

  • 对于拒绝验证,得分是拒绝观察的准确性。

  • 对于再替换验证,得分是针对所有训练数据观测的再替换准确性。

最好的总分可能不是你目标的最佳模式。总体精度稍低的模型可能是您的目标的最佳分类器。例如,某门课的假阳性对你来说可能很重要。您可能想要排除一些数据收集昂贵或困难的预测器。

要了解分类器在每个类中的表现,请检查混淆矩阵。

查看和比较模型度量

中可以查看模型度量当前模型的总结窗格并使用这些度量来评估和比较模型。的培训结果度量在验证集上计算。的测试结果如果显示度量值,则在导入的测试集上计算。有关更多信息,请参见评估测试集模型性能

“示例当前模型摘要”窗格

复制文件中的信息当前模型的总结窗格中,您可以右击窗格并选择复制文本

模型指标

度规 描述 提示
精度 正确分类的观察的百分比 寻找更大的精度值。
总成本 误分类总成本 寻找更小的总成本值。确保精度值仍然较大。

您可以根据不同的模型度量对模型进行排序。要选择用于模型排序的指标,请使用排序列表在最上面模型窗格。

中列出的不需要的型号也可以删除模型窗格。选择要删除的模型并单击删除选定的模型按钮,或者右键单击模型并选择删除模型.属性中的最后一个剩余模型不能删除模型窗格。

情节分类器的结果

在散点图中,查看分类器结果。训练分类器后,散点图从显示数据切换到显示模型预测。如果你使用的是拒绝或交叉验证,那么这些预测就是对拒绝(验证)观察结果的预测。换句话说,每个预测都是使用一个模型来获得的,而这个模型没有使用相应的观测数据。要调查您的结果,请使用右边的控件。您可以:

  • 选择是绘制模型预测还是仅绘制数据。

  • 使用下面的复选框显示或隐藏正确或不正确的结果模型的预测

  • 选择要绘图的功能XY列表下预测

  • 通过使用下面的复选框显示或隐藏特定的类来可视化结果显示

  • 通过选择下面的类来改变绘制的类的堆叠顺序然后点击移到前面

  • 放大和缩小,或者在图上平移。若要启用缩放或平移,将鼠标悬停在散点图上,并单击出现在图右上角上方的工具栏上的相应按钮。

Fisher虹膜数据的散点图。分类正确的点用o标记,分类错误的点用X标记。

另请参阅研究散点图中的特征

要将应用程序中创建的散点图导出为图形,请参见在分类学习者应用程序中导出地块

在混淆矩阵中检查每个类的表现

使用混淆矩阵图来理解当前选择的分类器如何在每个类中执行。要查看训练模型后的混淆矩阵,单击混淆矩阵并选择验证数据情节部分的分类学习者选项卡。混淆矩阵帮助您识别分类器表现较差的区域。

打开图时,行显示真正的类,列显示预测的类。如果你使用的是坚持或交叉验证,那么混淆矩阵是利用对坚持(验证)观察结果的预测来计算的。对角线单元格显示真正的类和预测的类在哪里匹配。如果这些对角线的单元格是蓝色的,则分类器已经对这个真正的类进行了分类观察。

默认视图显示每个单元格中的观察数。

要查看分类器对每个类的执行情况,请单击情节,选择真实阳性率(TPR)假阴性率(FNR)选择。TPR是每个真实类别中正确分类的观察结果所占的比例。FNR是每个真实类别中错误分类的观测值所占的比例。图在右侧的最后两列显示了每个真正类的摘要。

提示

通过检查对角线上显示高百分比和橙色的单元格,寻找分类器表现较差的区域。百分比越高,单元格颜色的色调越深。在这些橙色单元格中,真实的类和预测的类不匹配。数据点分类错误。

混淆矩阵的汽车小数据集评估模型,预测原产国

在本例中,它使用carsmall数据集,从上到下的第二排显示了所有的汽车与真正的级别德国。列显示了预测的类。22.2%的德国车分类正确,所以22.2%图中蓝色单元格所示的正确分类的这类点的真实阳性率是否TPR列。

德国排的其他汽车被错误分类:55.6%的汽车被错误地分类为来自日本,22.2%的汽车被分类为来自美国。这类错误分类点的假阴性率为77.8%,如图中的橙色单元格所示FNR列。

如果你想看到观察的数量(在这个例子中是汽车)而不是百分比,在情节中,选择数量的观察

如果假阳性在你的分类问题中很重要,绘制每个预测类(而不是真类)的结果来调查假发现率。查看每个预测类的结果,在情节,选择阳性预测值(PPV)错误发现率(FDR)选择。PPV是每个预测类中正确分类的观测值所占的比例。FDR是每个预测类别中错误分类的观测的比例。选中此选项后,混淆矩阵现在包括表下面的汇总行。每个类别中正确预测点数的阳性预测值用蓝色表示,错误发现率用橙色表示。

如果您认为在感兴趣的类别中有太多错误分类的点,请尝试更改分类器设置或特征选择以搜索更好的模型。

要将你在应用程序中创建的混乱矩阵图导出为图形,请参见在分类学习者应用程序中导出地块

检查ROC曲线

查看训练模型后的ROC曲线,在分类学习者选项卡,情节部分中,点击ROC曲线并选择验证数据.查看显示真阳性率和假阳性率的受试者工作特征(ROC)曲线。ROC曲线显示了当前选定的训练分类器的真阳性率与假阳性率。您可以选择不同的类来绘图。

图上的标记显示当前选择的分类器的性能。标记显示当前选择的分类器的假阳性率(FPR)和真阳性率(TPR)的值。例如,假阳性率(FPR)为0.2表示当前分类器错误地将20%的观测值分配给阳性类。0.9的真阳性率表明当前分类器正确地将90%的观察值分配给了阳性类别。

没有错误分类点的完美结果是在图的左上方设置一个直角。45度角的直线是一个不好的结果,也不比随机好。的曲线下的面积数量是分类器整体质量的衡量标准。更大的曲线下的面积值表示更好的分类器性能。比较课程和训练模型,看看它们在ROC曲线上的表现是否不同。

有关更多信息,请参见perfcurve

要将应用程序中创建的ROC曲线图导出为图形,请参见在分类学习者应用程序中导出地块

评估测试集模型性能

在Classification Learner中训练模型后,您可以在应用程序中评估模型在测试集上的性能。这个过程允许您检查验证准确性是否为新数据上的模型性能提供了良好的估计。

  1. 将测试数据集导入分类学习器。

    • 如果测试数据集在MATLAB中®工作区,然后在测试上节分类学习者选项卡上,单击测试数据并选择从工作空间

    • 如果测试数据集在文件中,则在测试部分中,点击测试数据并选择从文件.在列表中选择文件类型,例如电子表格、文本文件或逗号分隔的值(. csv)文件,或选择所有文件浏览其他文件类型,例如.dat

    在“导入测试数据”对话框中,从测试数据集变量列表。测试集必须具有与导入用于训练和验证的预测器相同的变量。测试响应变量中的惟一值必须是完整响应变量中的类的子集。

  2. 计算测试集度量。

    • 要计算单个模型的测试度量,请在模型窗格。在分类学习者选项卡,测试部分中,点击测试所有并选择测试选择

    • 要计算所有训练模型的测试度量,请单击测试所有并选择测试所有测试部分。

    该应用程序计算在完整数据集上训练的每个模型的测试集性能,包括训练和验证数据。

  3. 验证精度与测试精度比较。

    当前模型的总结窗格,应用程序显示验证指标和测试指标下培训结果节和测试结果部分,分别。您可以检查验证准确性是否为测试准确性提供了一个良好的估计。

    您还可以使用图表来可视化测试结果。

    • 显示一个混淆矩阵。在情节上节分类学习者选项卡上,单击混淆矩阵并选择测试数据

    • 显示ROC曲线。在情节部分中,点击ROC曲线并选择测试数据

例如,请参见在分类学习者应用程序中使用测试集检查分类器性能.有关在超参数优化工作流中使用测试集指标的示例,请参见基于超参数优化的分类器分类器

相关的话题