Loading...

模型评估标准

常见的模型评估标准有:sensitivity, specificity, Precision, F1-measure, Geometric mean and mathew correlation coefficient and finally ROC AUC curve

1.confusion matrix

混淆矩阵是一个表,通常用来描述分类模型(或“分类器”)在一组已知真实值的测试数据上的性能。混淆矩阵本身相对容易理解,但相关的术语可能会令人困惑。

二元分类器的混淆矩阵示例:

我们能从上面了解到的东西:

  • 有两种可能的预测类别:“是”和“否”。例如,如果我们预测某种疾病的存在,“是”意味着他们患有这种疾病,“否”意味着他们没有这种疾病。
  • 分类器总共做出了165个预测(例如,165个病人正在测试是否存在该疾病)。
  • 在这165个例子中,分类器预测了110次“是”,55次“否”。
  • 实际上,样本中有105名患者患有该病,60名患者没有。

2.basic terms

true positives (TP):
这些是我们预测是(他们患病)的情况,他们确实患病。

true negatives (TN):
我们预测没有,他们没有患病

false positives (FP):
我们预测是,但他们实际上没有患病。(也称为“第一类错误”。)

false negatives (FN):
我们预测没有,但他们确实患病。(也称为“第二类错误”。)

Accuracy:
总体而言,分类器多久正确一次?
(TP+TN)/total = (100+50)/165 = 0.91

Misclassification Rate:
总的来说,错误的频率是多少?
(FP+FN)/total = (10+5)/165 = 0.09
等价于1减去准确率也就是“错误率”

True Positive Rate:
当它实际上是“是”时,它预测“是”的频率是多少?
TP/actual yes = 100/105 = 0.95
又称“灵敏度”或“召回率”(“Sensitivity” or “Recall”)

False Positive Rate:
当它实际上是“否”时,它预测“是”的频率是多少?
FP/actual no = 10/60 = 0.17

True Negative Rate: 当它实际上是“否”时,它预测“否”的概率是多少?
TN/actual no = 50/60 = 0.83
相当于1减去假阳性率也被称为“特异性"(“Specificity”)

Precision: 当预测为“是”时,它的正确频率是多少?
TP/predicted yes = 100/110 = 0.91

Prevalence:
在我们的样本中,yes条件实际发生的频率是多少?
actual yes/total = 105/165 = 0.64

Null Error Rate:
如果你总是预测占多数的类别,则错误的频率。(在我们的例子中,零错误率为60/165=0.36,因为如果你总是预测是,那么只有60个“否”的情况下,你的预测是错误的。)

这可以作为比较分类器的基准指标。然而,对于特定的应用来说,最好的分类器有时会有比零错误率更高的错误率,正如精度悖论所证明的那样。

Cohen’s Kappa:
这本质上是一种衡量分类器的表现与随机表现的比较。换句话说,如果准确率和零错误率之间存在较大差异,则模型将具有较高的Kappa分数。

F Score:
这是真阳性率(召回率)和准确率的加权平均值。

ROC Curve:
这是一个常用的图表,总结了一个分类器在所有可能的阈值下的性能。当你改变将观测值分配给给定类的阈值时,通过绘制真正率(y轴)与假正率(x轴)来生成它。

Sensitivity vs Specificity:

3.Mathew Correlation coefficient (MCC)

马修斯相关系数(MCC)是一个更可靠的统计率,只有当预测在所有四个混淆矩阵类别(真阳性、假阴性、真阴性和假阳性)中获得良好的结果时,才会产生高分数,与数据集中正元素和负元素的大小成比例。

4.Log Loss

对数损失衡量分类模型的性能,其中预测输入是介于0和1之间的概率值。我们的机器学习模型的目标是最小化这个值。一个完美的模型的对数损失为0。当预测概率偏离实际标签时,对数损失会增加。因此,当实际观测标签为1时,预测概率为0.012将是很糟糕的,并会导致很高的对数损失。

下图显示了给定真实观测值(isDog = 1)的对数损失值的可能范围。随着预测概率接近1,对数损失慢慢减小。然而,随着预测概率的降低,对数损失迅速增加。对数损失会惩罚两种类型的错误,特别是那些自信且错误的预测!

5.F1 Score

F1分数是精确率和召回率的加权平均值。因此,这个分数同时考虑了假阳性和假阴性。直观地说,它不像精度那么容易理解,但F1通常比精度更有用,特别是当你有不均匀的类分布时。当假阳性和假阴性具有相似的成本时,准确率效果最好。如果假阳性和假阴性的代价非常不同,最好同时查看准确率和召回率。在我们的例子中,F1分数是0.701。

F1 Score = 2(Recall Precision) / (Recall + Precision)

6.ROC AUC Curve

ROC (Receiver Operator Characteristic)曲线是二分类问题的评价指标。它是在不同阈值下绘制TPR与FPR的概率曲线,本质上将“信号”与“噪声”分开。曲线下面积(Area Under The Curve, AUC)是分类器区分类别能力的度量,是ROC曲线的汇总。

AUC越高,模型区分正负类的性能越好。

当AUC = 1时,那么分类器能够正确地完美区分所有的正类和负类点。然而,如果AUC为0,那么分类器将所有正例预测为正例,所有正例预测为负例。

当0.5<AUC<1时,分类器很有可能能够区分正类值和负类值。这是因为分类器能够检测到更多的真阳性和真阴性数据,而不是假阴性和假阳性数据。

当AUC=0.5时,分类器无法区分正类点和负类点。这意味着分类器要么对所有数据点预测随机类别,要么预测常量类别。

因此,一个分类器的AUC值越高,它区分正负类的能力就越强。

7.Precision Recall curve

准确率-召回率曲线总结了使用不同概率阈值的预测模型的真实阳性率和阳性预测值之间的权衡

8.其他