轻松上手Scikit-learn——评估模型性能(准确率、精确率、召回率、ROC和AUC)
安装scikit——learn
pip install -U scikit-learn
常用模型性能评估指标
在开始介绍之前先规定几个表示:
- 模型预测正确的正样本,称为真正样本(True Positive),简写TP。
- 模型预测正确的负样本,称为真负样本(True Negative),简写TN。
- 模型预测错误的正样本,称为假正样本(False Positive),简写FP。
- 模型预测错误的负样本,称为假负样本(False Negative),简写FN。
- y表示样本的Ground Truth
- y ^ \hat{y} y^表示模型对于样本的预测从属。
- 真正率: T P R = T P / ( T P + F N ) TPR=TP/(TP+FN) TPR=TP/(TP+FN)
- 假正率: F P R = F P / ( F P + T N ) FPR=FP/(FP+TN) FPR=FP/(FP+TN)
- 真负率: T N R = T N / ( T N + F P ) = 1 − F P R TNR=TN/(TN+FP)=1-FPR TNR=TN/(TN+FP)=1−FPR
准确率
-
常用准确率
a c c u r a c y ( y , y ^ ) = 1 n s a m p l e s ∑ i = 0 n s a m p l e s − 1 1 ( y i ^ = = y i ) accuracy(y,\hat{y})=\frac{1}{n_{samples}}\sum_{i=0}^{n_{samples}-1}1(\hat{y_i}==y_i) accuracy(y,y^)=nsamples1i=0∑nsamples−11(yi^==yi)
其中:
1 ( y i ^ = = y i ) = { 1 if y i ^ = = y i , 0 others . 1(\hat{y_i}==y_i)= \begin{cases} 1 & \text{if } \hat{y_i}==y_i\ ,\\ 0 & \text{others}\ . \end{cases} 1(yi^==y