0 分类问题评价指标
混淆矩阵
混淆矩阵:Actual :实际的正类或父类; Predicted : 预测的;1 :正类 0:父类
predicted | predicted | |||
1 | 0 | |||
Actual | 1 | TP | FN | |
Actual : | 0 | FP | TN | |
P:预测正 | N:预测负 | P + N |
TN=True Negative 真负,将负类预测为负类的数量P
FP=False Positive 假正,将负类预测为正类的数量,可以称为误报率
FN=False Negative 假负,将正类预测为负类的数量,可以称为漏报率
TP=True Positve 真正,将正类预测为正类的数量
0: TN+FP:Actual Negative 实际上负类的数量
N = TN+FN : Actual Positive 预测的负类数量
1 :TP+FN:Predicted Negative实际的正类数量
P = TP+FP : Predicted Positive 预测的正类数量
记忆方法:
T=True=+1 F=False=-1 (T和N并不是指代实际的是正类和负类)
P=Positive=+1 N=Negative=-1 (P和N指明了预测的是正类还是负类)
实际正例=+1 实际负例=-1
准确率(accuary)
准确率 =正确分类数量 / (样本总数=所有正例P+所有负例N)
精确率 (precision)
精确率p =被预测为正例的示例中实际为正例的比例
精确率是针对预测结果而言的,表示的是预测为正的样本中有多少是真正的正样本,预测为正就有两种可能,一种是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),即 P = TP / (TP+FP)
召回率 (recall)
召回率 =所有实际正例中有多少正例被找到
召回率是针对原来样本而言的,表示的是样本中的正例有多少被预测正确,同样也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN),即 R = TP / (TP+FN)
F1 score
F1 score 为精确率与召回率的调和均值
即
准确率accuracy和精确率precision都高的情况下,F1 score也会显得很高
ROC curve
逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果我们减小这个阀值,更多的样本会被识别为正类。提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,此处引入ROC,ROC曲线可以用于评价一个分类器好坏。
ROC关注两个指标:
True Positive Rate: TPR = TP / (TP+FN) → 将正例分对的概率
Fales Positive Rate: FPR = FP / (FP+TN) → 将负例错分为正例的概率
在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off。
AUC
AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是 AUC 值。总之:AUC值越大的分类器,正确率越高。
AUC = 1:绝对完美分类器,理想状态下,100%完美识别正负类,不管阈值怎么设定都能得出完美预测,绝大多数预测不存在完美分类器;
0.5<AUC<1:优于随机猜测。这个分类器(模型)妥善设定阈值的话,可能有预测价值;
AUC=0.5:跟随机猜测一样(例:随机丢N次硬币,正反出现的概率为50%),模型没有预测价值;
AUC<0.5:比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在AUC<0.5的状况。