在机器学习领域,模型的准确性虽然是衡量性能的重要指标,但并非唯一。本文将探讨其他几个评估指标,它们能够提供更全面的模型性能理解,并指导做出正确的决策以提升模型的预测能力。
分类指标是预测给定输入数据的类别标签。在二分类中,只有两个可能的输出类别(即二元分类)。在多分类中,可以存在两个以上的可能类别。本文将重点讨论二分类问题。
分类指标是衡量分类模型性能的关键,尤其是在二分类问题中。以垃圾邮件检测为例,输入数据可能包括电子邮件文本和元数据(发件人、发送时间),输出标签要么是“垃圾邮件”要么是“非垃圾邮件”。
精确度简单地衡量了分类器正确预测的频率。可以将精确度定义为正确预测的数量与总预测数量的比率。
当任何模型给出99%的精确度时,可能会认为模型表现非常好,但这并不总是正确的,有时可能会误导。以下是一个例子来解释这一点。
假设有一个分类任务,预测一张图片是狗还是猫。在监督学习算法中,首先在训练数据上fit/train
模型,然后在testing data
上test
模型。一旦从X_test
数据中得到模型的预测,就将它们与true y_values
(正确的标签)进行比较。
把狗的图片输入训练模型。假设模型预测这是一只狗,然后将预测与正确标签进行比较。如果模型预测这张图片是一只猫,然后再次将其与正确标签进行比较,那么它将是错误的。
重复这个过程,对X_test
数据中的所有图片进行预测。最终,将得到正确和错误匹配的计数。但实际上,所有错误或正确匹配的价值并不总是相等的。因此,单一指标并不能讲述整个故事。
当目标类别well balanced
时,精确度是有用的,但对于不平衡的类别来说,它并不是一个好的选择。想象一下,在训练数据中有99张狗的图片和只有1张猫的图片。然后模型总是预测狗,因此得到了99%的精确度。实际上,数据总是不平衡的,例如垃圾邮件、信用卡欺诈和医学诊断。因此,如果想要进行更好的模型评估,并全面了解模型评估,还应该考虑其他指标,如召回率和精确率。
混淆矩阵是衡量机器学习分类问题性能的工具,其中输出可以是两个或更多类别。它是一个包含预测值和实际值组合的表格。
混淆矩阵定义为经常用来描述分类模型在一组测试数据上的性能的表格,这些测试数据的真实值是已知的。
它对于衡量召回率、精确度、精确度和AUC-ROC曲线非常有用。让通过怀孕类比的例子来理解TP、FP、FN、TN。
真阳性(True Positive):预测为阳性,并且是正确的。在图片中,预测一个女人怀孕了,她确实怀孕了。
真阴性(True Negative):预测为阴性,并且是正确的。在图片中,预测一个男人没有怀孕,他确实没有怀孕。
假阳性(False Positive,类型1错误):预测为阳性,但是错误的。在图片中,预测一个男人怀孕了,但他实际上没有怀孕。
假阴性(False Negative,类型2错误):预测为阴性,但是错误的。在图片中,预测一个女人没有怀孕,但她实际上怀孕了。
它解释了正确预测的案例中有多少实际上是阳性的。精确率在假阳性比假阴性更受关注的情况下很有用。在音乐或视频推荐系统、电子商务网站等地方,错误结果可能导致客户流失,这对业务是有害的。
对于一个标签的精确率定义为真阳性的数量除以预测阳性的数量。
它解释了模型能够正确预测出多少实际的阳性案例。召回率是在假阴性比假阳性更受关注的情况下的有用指标。它在医疗案例中很重要,在那里不在乎是否发出了错误的警报,但实际的阳性案例不应该被遗漏!
对于一个标签的召回率定义为真阳性的数量除以实际阳性的总数。
它给出了精确率和召回率指标的组合概念。当精确率等于召回率时,F1分数最大。
F1分数是精确率和召回率的调和平均数。
F1分数对极端值的惩罚更大。在以下情况下,F1分数可能是一个有效的评估指标:
接收者操作特征(ROC)曲线是一个概率曲线,它在不同的阈值下绘制TPR(真阳性率)与FPR(假阳性率),并将“信号”与“噪声”分开。
曲线下面积(AUC)是分类器区分类别能力的度量。从图中,简单地说曲线ABDE和X轴、Y轴的面积。
从下图中可以看出,AUC越大,模型在正负类别之间的不同阈值点的性能就越好。这意味着当AUC等于1时,分类器能够完美地区分所有正类和负类点。当AUC等于0时,分类器会将所有负类预测为正类,反之亦然。当AUC为0.5时,分类器无法区分正类和负类。
对数损失(Logistic loss)或交叉熵损失是评估分类问题性能的主要指标之一。
-[y * log(p) + (1-y) * log(1-p)]