分类模型评估:准确率,精确率,查全率,特异度,F1

 

计算各种评估指标之前,首先需要计算混肴矩阵:

真正类数(True Positive , TP):被模型预测为正的正样本。

假正类数(False Positive , FP):被模型预测为正的负样本。

假负类数(False Negative , FN):被模型预测为负的正样本。

真负类数(True Negative , TN):被模型预测为负的负样本。

各指标计算公式如下:

准确率(Accuracy, ACC=(TP+TN)/N,

精确率/查准率(Precision, PPV=TP/(TP+FP),

灵敏度/召回率/查全率(Sensitivity/Recall, TPR=TP/(TP+FN),

特异度(Specificity, TNR=TN/(FP+TN),

F1=2*Precision*Recall/(Precision+Recall)

例如在titanic_export.csv的数据中,有目标变量的真实值Survived,阈值0.5时预测值Survived_predict 和目标变量为 1 的概率预测值 Survived_1_percentage

Survived_1_percentage PassengerId Survived Survived_predict
0.146539017 1 0 0
0.966226989 2 1 1
0.644612591 3 1 1
0.970606942 4 1 1
0.096753954 5 0 0

根据计算公式,对阈值0.5时的预测结果Survived_predict进行评估


A B
1 =T("D://titanic_export.csv")
2 =A1.select(Survived==1 && Survived_predict==1)
3 =A1.select(Survived==0 && Survived_predict==1)
4 =A1.select(Survived==1 && Survived_predict==0)
5 =A1.select(Survived==0 && Survived_predict==0)
6 >TP=A2.len(),FP=A3.len(),FN=A4.len(),TN=A5.len(),N=A1.len()
7 =(TP+TN)/N /Accuracy
8 =TP/(TP+FP) /Precision
9 =TP/(TP+FN) /Sensitivity/Recall
10 =TN/(FP+TN) /Specificity
11 =2*A8*A9/(A8+A9) /F1

A2 被模型预测为正的正样本

A3 被模型预测为正的负样本

A4 被模型预测为负的正样本

A5 被模型预测为负的负样本

A6 计算TPFPFNTNN

A7 计算准确率Accuracy

..

A8-A11 同理,根据计算公式计算其他指标