发布日期:2024 年 1 月 19 日
撰稿人:Jacob Murel 博士、Eda Kavlakoglu
混淆矩阵通过将数据集的预测值与实际值进行比较,帮助评估机器学习中的分类模型性能。
深入了解 IBM watsonx 并学习如何使用统计数据集创建机器学习模型。
订阅 IBM 时事通讯
在混淆矩阵中,列表示给定类的预测值,行表示给定类的实际值(即真实值),反之亦然。请注意,研究中也出现了相反的情况。这种网格结构是一种方便的工具,通过显示所有类的正确预测和错误预测的数量来可视化模型分类准确性。
二元分类器的标准混淆矩阵模板可能如下所示:
左上角的框提供真阳性 (TP) 的数量,即对阳性类的正确预测的数量。其下方的框为假阳性 (FP),即被错误识别为阳性案例的负类实例。在统计学中,这些也称为 I 类错误。右上角的框是假阴性 (FN) 的数量,即被错误地预测为阴性的实际阳性实例的数量。最后,右下角的框显示真阴性 (TN) 的数量,即被准确地预测为阴性的实际阴性实例的数量。将这些值相加得出模型的预测总数。1
当然,这个模板针对的是最基本的二元分类问题。混淆矩阵还能直观显示多类分类问题的结果。例如,假设我们正在开发物种分类模型,作为海洋生物保护计划的一部分。该模型用于预测鱼类种类。这种多类分类问题的混淆矩阵可能如下所示:
对角线方框均表示预测真正例。其他框则提供假正例、假负例和真负例的数量,具体取决于选择关注的类。
鉴于易于访问的分类器预测结果可视化,混淆矩阵可用于计算其他模型评估指标。只需从矩阵中提取值,并将其输入用于衡量模型性能的一系列等式中即可。
模型准确性并非分类器的纯信息性评估指标。例如,假设我们对包含 100 个实例的数据集运行某一分类器。该模型的混淆矩阵仅显示一个假负例且无任何假正例;该模型可正确对每个其他数据实例进行分类。因此,该模型的准确性为 99%。虽然看似满意,但高准确性本身并不表示模型的性能出色。例如,假设我们的模型旨在对高传染性疾病进行分类。此时,1% 的错误分类会招致巨大风险。因此,可使用其他评价指标来更好地反映分类算法的性能。
精确度和召回率有时会呈反比关系。当模型通过返回更多实际类实例(即真阳性)增加召回率时,模型也会不可避免地对非实例(即假阳性)进行错误分类,从而降低精确率。6F1 分数尝试将精确率和召回率相结合来解决这种权衡。
F1 分数(也称为 F 分数、F 值或精确率和召回率的调和平均值)会将精确率和召回率组合在一起,以表示模型的总体类准确率。通过使用这两个值,可借由以下等式计算 F1 分数,而其中的 P 表示精确率 (PPV),R 则表示召回率(敏感性):
F1 分数对不平衡数据集尤其有用,因为在不平衡数据集中,精确度-召回率权衡最为明显。例如,我们有一个预测罕见疾病可能性的分类器。预测我们的测试数据集中没有人患有这种疾病的模型可能具有完美的精确度,但召回率为零。同时,预测数据集中每个人都患有这种疾病的模型将返回完美的召回率,但精确度等于实际患有这种疾病的人数的百分比(例如如果每 1000 万人中只有 1 人患有这种疾病,则为 0.00001%)。F1 分数是平衡这两个值的一种方式,可以更全面地了解分类器的性能。7
对于使用 F1 分数作为性能指标的做法,一些研究人员持批判态度。此类参数通常声称 F1 分数对精确度和召回率给予同等的权重,而对于所有数据集来说,这可能不是同等重要的性能指标。8对此,研究人员提出了 F1 分数的修改版本。9
条件化测量表示模型在检测特定类或非类时的准确率。召回率(也称为真正例率 (TPR) 或敏感性)便属于此类测量之一,它表示正类预测在所有实际类实例中的比率。特异性(或真负例率 (TNR))则是另一种条件化测量。它可测量给定类的实际非实例中正确负预测的比例。可通过以下公式计算特异性:10
特异性有助于计算模型的负正例率 (FPR)。其他分类器评估可视化效果(尤其是 ROC 曲线和 AUC)均会使用 FPR。FPR 是指模型错误地将某个类的非实例归类为该类的概率。因此,顾名思义,它表示模型返回负正例的比率,即统计数据中的 I 型错误。
I 类错误是指负正例,而 II 类错误则表示负负例,即给定类的实际实例被错误地归类为不属于该类。顾名思义,负负例率 (FNR) 表示模型错误地将实际类实例归类为不属于该类的概率。如同 FPR 对应于特异性,FNR 则对应于敏感性:
请注意,文献中通常不使用 FNR,因为 FNR 要求知道给定类的实际实例总数,而这在未见的测试数据集中可能是未知的。11
无条件指标是指用于表示根据模型出现或不出现特定类的几率的指标。精确性或正预测值 (PPV) 是一种无条件指标。如前所述,它可测量所选实例属于某个类的可能性。另一无条件指标“负预测值 (NPV)”是指所选实例不属于该类的概率。本质上,这两种无条件指标均试图解答一个问题:随机所选实例是否属于特定类。可通过以下方程计算 NPV:12
使用 scikit-learn 为简易二元分类问题创建混淆矩阵。
详细了解如何使用混淆矩阵和性能指标来分析模型性能。
使用 scikit-learn 创建混淆矩阵,作为 SVM 文本分类任务的一部分。
使用多个 R 包为简单的二元分类问题创建混淆矩阵。
1 Kai Ming Ting,“Confusion matrix”,《Encyclopedia of Machine Learning and Data Mining》,Springer,2018 年。
2 Ethan Zhang 和 Yi Zhang,“精确性”,数据库系统百科全书,Springer,2018 年。
3 Max Kuhn 和 Kjell Johnson,《Applied Predictive Modeling》,Springer,2016 年。
4 Ethan Zhang 和 Yi Zhang,“Recall”,《Encyclopedia of Database Systems》,Springer,2018 年。
5 Max Kuhn 和 Kjell Johnson,《Applied Predictive Modeling》Springer,2016 年。
6 Ben Carterette,“Precision and Recall”,《Encyclopedia of Database Systems》,Springer,2018 年。
7 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville,《Deep Learning》,MIT Press,2016 年,https://www.deeplearningbook.org/(ibm.com 外部链接)。Kevin Murphy,《Machine Learning: A Probabilistic Perspective》MIT Press,2012 年。
8 David Hand 和 Peter Christen,“使用 F 值评估记录链接算法的说明”,《统计与计算》,第 28 期,2018 年,第 539–547 页,https://link.springer.com/article/10.1007/s11222-017-9746-6(ibm.com 外部链接)。
9 David Hand、Peter Christen 和 Nishadi Kirielle,“F*: an interpretable transformation of the F-measure”,《Machine Learning》,第 110 卷,2021 年,第 451 456 页,https://link.springer.com/article/10.1007/s10994-021-05964-1(ibm.com 外部链接)。Davide Chicco 和 Giuseppe Jurman,“The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation”,《BMC Genomics》,第 21 卷,2020 年,https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-019-6413-7(ibm.com 外部链接)。
10 Max Kuhn 和 Kjell Johnson,《应用预测建模》,Springer,2016 年。