混淆矩阵、准确率、精确率、召回率、F值、ROC曲线、AUC、PR曲线-Sklearn.metrics评估方法

目录

混淆矩阵 confusion-matrix

分类准确率 accuracy

精确率Precision

召回率 recall

F1值

Roc曲线、AUC

PR曲线

混淆矩阵 confusion-matrix

TP(True Positive): 真实为0,预测也为0

FN(False Negative): 真实为0,预测为1

FP(False Positive): 真实为1,预测为0

TN(True Negative): 真实为0,预测也为0

混淆矩阵的API

fromsklearn.metricsimportconfusion_matrixconfusion_matrix = confusion_matrix(y_test, y_predict)

image.png

image.png

分类准确率 accuracy

所有样本中被预测正确的样本的比率

分类模型总体判断的准确率(包括了所有class的总体准确率)

准确率的API:

fromsklearn.metricsimportaccuracyaccuracy = accuracy_score(y_test, y_predict)

image.png

精确率Precision

预测为正类0的准确率

TP / ( TP + FP )

fromsklearn.metricsimportprecision_scoreprecision = precision_score(y_test, y_predict)

召回率 recall

真实为0的准确率

image.png

真实为1的准确率

Recall = TN/(TN+FP)

召回率API:

fromsklearn.metricsimportrecall_scorerecall = recall_score(y_test, y_predict)#recall得到的是一个list,是每一类的召回率

F1值

用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。

image.png

fromsklearn.metricsimportf1_scoref1_score(y_test, y_predict)

Roc曲线、AUC

TPR FPR

样本中的真实正例类别总数即TP+FN

TPR即True Positive Rate,TPR = TP/(TP+FN)。

TPR:真实的正例0中,被预测为正例的比例

样本中的真实反例类别总数为FP+TN

FPR即False Positive Rate,FPR=FP/(TN+FP)。

FPR:真实的反例1中,被预测为正例的比例

理想分类器TPR=1,FPR=0

截断点thresholds

机器学习算法对test样本进行预测后,可以输出各test样本对某个类别的相似度概率。比如t1是P类别的概率为0.3,一般我们认为概率低于0.5,t1就属于类别N。这里的0.5,就是”截断点”。

总结一下,对于计算ROC,最重要的三个概念就是TPR, FPR, 截断点。

ROC曲线

ROC曲线越接近左上角,代表模型越好,即ACU接近1

fromsklearn.metricsimportroc_auc_score, aucimportmatplotlib.pyplotasplty_predict = model.predict(x_test)y_probs = model.predict_proba(x_test)#模型的预测得分fpr, tpr, thresholds = metrics.roc_curve(y_test,y_probs)roc_auc = auc(fpr, tpr)#auc为Roc曲线下的面积#开始画ROC曲线plt.plot(fpr, tpr,'b',label='AUC = %0.2f'% roc_auc)plt.legend(loc='lower right')plt.plot([0,1],[0,1],'r--')plt.xlim([-0.1,1.1])plt.ylim([-0.1,1.1])plt.xlabel('False Positive Rate')#横坐标是fprplt.ylabel('True Positive Rate')#纵坐标是tprplt.title('Receiver operating characteristic example')plt.show()

运行结果如下图所示:

参考资料:

1.混淆矩阵(Confusion Matrix)

https://www.jianshu.com/p/0fc8a0b784f1

2.ROC与AUC的定义与使用详解

https://blog.csdn.net/shenxiaoming77/article/details/72627882

作者:小歪与大白兔

链接:https://www.jianshu.com/p/5df19746daf9

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(混淆矩阵、准确率、精确率、召回率、F值、ROC曲线、AUC、PR曲线-Sklearn.metrics评估方法)