准确率 Accuracy:
模型预测正确的比例;总样本中预测对的概率;所有样本中实际是正例的占比;正确预测的样本数与总样本数之比。
准确率 =(真正例+真负例)/(真正例+真负例+假正例+假负例)。
精确率 Precision:
又叫查准率,表示预测为正的样本中,有多少是真正的真样本(找得对);即真正例(True Positive)与预测为正的样本数之比。
精确率 = 真正例/(真正例+假正例)
召回率 Recall:
表示样本中的正例被预测正确了(找得全);正例占预测对的占比;预测结果正确的样本中,有多少是真正的真样本;即真正例(True Positive)与实际为正的样本数之比。
召回率 = 真正例/(真正例+假负例)
F1 Score:
既能体现精确率又能体现召回率,是精确率和召回率的调和平均数。
F1 = 2*精确率*召回率/(精确率+召回率)
精确率和召回率的关系:
精确率和召回率其实就是分母的不同,精确率是针对预测为正的结果,召回率是针对实际为正的结果。
计算公式总结:
准确率acc:accuracy = (TP+TN)/(TP+TN+FP+FN)
精确率p:precision = TP/(TP+FP)
召回率rec:recall = TP/(TP+FN)
F1 Score:F1=2 * Precision * Recall / (Precision + Recall)
计算公式的理解:
TP+FP+TN+FN:所有样本数;
TP+TN:预测结果是对的;
TP+FP:预测为正的;
TP+FN:实际为正的;
说到这,就不得不提混淆矩阵了,能帮助我们理解和记忆以上评估模型的几个指标:
混淆矩阵 |
预测结果 |
||
1-Positive |
0-Negative |
||
真实情况 |
1-Positive |
TP |
FN |
0-Negative |
FP |
TN |
真正例(True Positive):模型预测为正,且实际也为正的样本数。(预测结果是对的)
假正例(False Positive):模型预测为正,但实际为负的样本数。(预测结果是错的)
假负例(False Negative):模型预测为负,但实际为正的样本数。(预测结果是错的)
真负例(True Negative):模型预测为负,且实际也为负的样本数。(预测结果是对的)
T:True的首字母,表示预测结果是正确的;
F:False的首字母,表示预测结果是错误的;
P:Positive的首字母,预测是正样本;
N:Negative的首字母,预测是负样本;
补充:
样本不平衡时,评价模型的方法用ROC或AUC;平衡数据,用准确率accuracy。