precision与Recall
在机器学习中,precision与recall是常用的指标,在说这两个概念之前,首先来说下精度(Precision)与准度(Accuracy)。
Precision指精度,意味着随机误差(Random Error)小,即方差(Variance)小,描述了实际值的扰动情况。
Accuracy指准度,意味着系统误差(System Error)小,即偏差(Bias)小,描述了实际值与真实结果的偏离程度。
准确度高,意味着误差(Error)小,Error = Bias + Variance
在机器学习中,可以将预测分为四种情况
True Positive(TP):预测为正实际为正,预测对了
False Negative(FN): 预测为负实际为正,预测错了
False Positive(FP): 预测为正实际为负,预测错了
True Negative(TN): 预测为负实际为负,预测对了
例如,有60个正样本,40个负样本,系统预测了50个正样本,其中40个是预测正确的正样本;预测了50个负样本,其中30个是预测正确的负样本。TP=40,FP=10;FN=20,TN=30。
定义:
可得上例中:
Precision(精确度) = 40/(40+10)=80%
Recall(召回率) = 40/(40+20)=66.7%;
Accuracy(准确度) = (40+30)/(40+10+30+20) = 70%
F1 Score = 240/(240+10+20) = 72.7%
由此可见:
Precision是预测为正实际为正占预测为正的比例,Precision可以视作是模型找出来的数据的正确能力,Precision=1表示模型找一个对一个,Presicion=0.5表示模型找出2个,能对1个。
Recall是预测为正实际为正占总体正样本的比例,Recall可以视作是模型在数据集中,检测出目标类型数据的能力,即是否把想找出来的都找出来了,Recall=1表示已经把想找出来的数据全部找出来了。
Accuracy是预测为正实际为正和预测为负实际负占总样本的比例。
参考博客:https://www.jianshu.com/p/fd9b1e89f983