ACC=(TP+TN)/(TP+TN+FP+FN);
准确率(accuracy):所有预测值中正确的概率。不做过多介绍。
ROC与AUC
首先说一下为什么要roc,通常情况下我们得到了预测值Y_pred,我们需要设定一个阈值,大于这个阈值判为正类,小于这个阈值判为负类,一般情况可能会取0.5。
如果我们更为关注正负类别判别的质量,这个阈值就可能不是0.5,那么这个阈值怎么取,就需要借助roc曲线与auc
说一下纵轴与横轴
TPR = TP / (TP+FN);
TPR(true positives rate):表示当前分到正样本中真实的正样本所占所有正样本的比例;
FPR = FP / (FP + TN);
FPR(false positives rate):表示当前被错误分到正样本类别中真实的负样本所占所有负样本总数的比例;
横轴和纵轴都是从0到1的,我们希望FPR尽可能的小,尽可能少的被误判,TPR尽可能的高,即找回尽可能多。理想状态ROC曲线应该是尽量向左上方偏斜,极端情况与左边与上边重合。
对角线意味着一个随机变量的分类,即如果有一个随机判别为正类或者负类的判别器,就会沿着对角线走,在随机分类中,被正确分类的和被错误分类的一半一半,这样我们就需要确定一个阈值,让FPR尽可能小,让TPR尽可能大。而为了兼顾FPR与TPR,即尽量接近于拐点。
ROC曲线能很容易地查出任意界限值对性能的识别能力
AUC是这个面积,这个值可以直接反映ROC曲线向左上方的靠近程度。
那么ROC曲线是怎么画的呢
在一组真实分类中,一共有10个正类和10个负类
我们以0.8到0.9之间作为阈值,召回了1个正类(0.9),即TPR为1/10=0.1,而FPR为0/10=0,所以在(0,0.1)加一个点。
同理当阈值在0.7到0.8之间,我们在(0,0.2)画一个点,以此类推得到ROC折线图,当数据量大的时候,就成了曲线图。