目錄
混淆矩陣 confusion-matrix
分類準(zhǔn)確率 accuracy
精確率Precision
召回率 recall
F1值
Roc曲線、AUC
PR曲線
混淆矩陣 confusion-matrix
TP(True Positive): 真實(shí)為0,預(yù)測也為0
FN(False Negative): 真實(shí)為0,預(yù)測為1
FP(False Positive): 真實(shí)為1,預(yù)測為0
TN(True Negative): 真實(shí)為0,預(yù)測也為0
混淆矩陣的API
fromsklearn.metricsimportconfusion_matrixconfusion_matrix = confusion_matrix(y_test, y_predict)

image.png

image.png
分類準(zhǔn)確率 accuracy
所有樣本中被預(yù)測正確的樣本的比率
分類模型總體判斷的準(zhǔn)確率(包括了所有class的總體準(zhǔn)確率)
準(zhǔn)確率的API:
fromsklearn.metricsimportaccuracyaccuracy = accuracy_score(y_test, y_predict)

image.png
精確率Precision
預(yù)測為正類0的準(zhǔn)確率
TP / ( TP + FP )
fromsklearn.metricsimportprecision_scoreprecision = precision_score(y_test, y_predict)
召回率 recall
真實(shí)為0的準(zhǔn)確率

image.png
真實(shí)為1的準(zhǔn)確率
Recall = TN/(TN+FP)
召回率API:
fromsklearn.metricsimportrecall_scorerecall = recall_score(y_test, y_predict)#recall得到的是一個(gè)list,是每一類的召回率
F1值
用來衡量二分類模型精確度的一種指標(biāo)。它同時(shí)兼顧了分類模型的準(zhǔn)確率和召回率。F1分?jǐn)?shù)可以看作是模型準(zhǔn)確率和召回率的一種加權(quán)平均,它的最大值是1,最小值是0。

image.png
fromsklearn.metricsimportf1_scoref1_score(y_test, y_predict)
Roc曲線、AUC
TPR FPR
樣本中的真實(shí)正例類別總數(shù)即TP+FN
TPR即True Positive Rate,TPR = TP/(TP+FN)。
TPR:真實(shí)的正例0中,被預(yù)測為正例的比例
樣本中的真實(shí)反例類別總數(shù)為FP+TN
FPR即False Positive Rate,F(xiàn)PR=FP/(TN+FP)。
FPR:真實(shí)的反例1中,被預(yù)測為正例的比例
理想分類器TPR=1,F(xiàn)PR=0
截?cái)帱c(diǎn)thresholds
機(jī)器學(xué)習(xí)算法對(duì)test樣本進(jìn)行預(yù)測后,可以輸出各test樣本對(duì)某個(gè)類別的相似度概率。比如t1是P類別的概率為0.3,一般我們認(rèn)為概率低于0.5,t1就屬于類別N。這里的0.5,就是”截?cái)帱c(diǎn)”。
總結(jié)一下,對(duì)于計(jì)算ROC,最重要的三個(gè)概念就是TPR, FPR, 截?cái)帱c(diǎn)。
ROC曲線
ROC曲線越接近左上角,代表模型越好,即ACU接近1
fromsklearn.metricsimportroc_auc_score, aucimportmatplotlib.pyplotasplty_predict = model.predict(x_test)y_probs = model.predict_proba(x_test)#模型的預(yù)測得分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')#橫坐標(biāo)是fprplt.ylabel('True Positive Rate')#縱坐標(biāo)是tprplt.title('Receiver operating characteristic example')plt.show()
運(yùn)行結(jié)果如下圖所示:

參考資料:
1.混淆矩陣(Confusion Matrix)
http://www.itdecent.cn/p/0fc8a0b784f1
2.ROC與AUC的定義與使用詳解
https://blog.csdn.net/shenxiaoming77/article/details/72627882
作者:小歪與大白兔
鏈接:http://www.itdecent.cn/p/5df19746daf9
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。