1.准确率与召回率
数据集中 : 正例 反例
你的预测 正例 : A B
你的预测 反例 : C D
准确率就是A/(A+B) 就是“你的预测中有多少是对的”
召回率就是A/(A+C) 就是“正例里你的预测对的覆盖了多少”
A为被模型预测为正的正样本,真正(True Positive , TP)--预测正确
B为被模型预测为正的负样本,假正(False Positive , FP)
C为被模型预测为负的正样本,假负(False Negative , FN)
D为被模型预测为负的负样本,真负(True Negative , TN--预测正确
真正率(True Positive Rate , TPR)或灵敏度(sensitivity)
TPR = TP /(TP + FN)
假负率(False Negative Rate , FNR)
FNR = FN /(TP + FN) (被预测为负的正样本结果数 / 正样本实际数 )
假正率(False Positive Rate , FPR)
FPR = FP /(FP + TN) (被预测为正的负样本结果数 /负样本实际数)
真负率(True Negative Rate , TNR)或特指度(specificity)
TNR = TN /(TN + FP) (负样本中预测为负 / 负样本实际数)
2.roc
ROC曲线上几个关键点的解释:
( TPR=0,FPR=0 ) 把每个实例都预测为负类的模型,坐标原点,真正和假正都是零,即全预测为负
( TPR=1,FPR=1 ) 把每个实例都预测为正类的模型,对角线顶点
( TPR=1,FPR=0 ) 理想模型,左上角顶点
曲线越靠近左上角,曲线下面的面积越大,即auc越大
如果ROC是光滑的,那么基本可以判断没有太大的过拟合,否则可能样本太少了
3.PRC, precision recall curve
横坐标为召回率,纵坐标为准确率,准确率和召回率都是越高越好,所有prc曲线先看是否光滑,再看位置,越偏右上角越好
F1是准确率和召回率的调和平均值。当P和R接近就也越大,一般会画连接(0,0)和(1,1)的线,线和PRC重合的地方的F1是这条线最大的F1(光滑的情况下),此时的F1对于PRC就好象AUC对于ROC一样。
1. 地震的预测
对于地震的预测,我们希望的是RECALL非常高,也就是说每次地震我们都希望预测出来。这个时候我们可以牺牲PRECISION。情愿发出1000次警报,把10次地震都预测正确了;也不要预测100次对了8次漏了两次。
2. 嫌疑人定罪
基于不错怪一个好人的原则,对于嫌疑人的定罪我们希望是非常准确的。及时有时候放过了一些罪犯(recall低),但也是值得的。
对于分类器来说,本质上是给一个概率,此时,我们再选择一个CUTOFF点(阀值),高于这个点的判正,低于的判负。那么这个点的选择就需要结合你的具体场景去选择。反过来,场景会决定训练模型时的标准,比如第一个场景中,我们就只看RECALL=99.9999%(地震全中)时的PRECISION,其他指标就变得没有了意义。
参考:
https://www.zhihu.com/question/30643044/answer/48955833