繪製ROC曲線

2022-01-23 06:14:05 字數 1002 閱讀 4429

roc曲線是什麼意思,書面表述為:

「roc 曲線(接收者操作特徵曲線)是一種顯示分類模型在所有分類閾值下的效果的圖表。」

好吧,這很不直觀。其實就是乙個二維曲線,橫軸是fpr,縱軸是tpr:

至於tpr,fpr怎麼計算:

然後tpr, fpr的定義為

tpr = tp / (tp + fn)      (也就是recall)

fpr = fp / (fp + tn)

假設你現在做機器學習筆試題,題目給了分類任務中的測試集標籤和分類模型的**結果,也就是給了y_pred和y_gt,讓你手繪auc曲線。can you draw it?

答案一定是yes, i can(看一下就會了)。

gt: [0, 1, 0, 1]. pred: [0.1, 0.35, 0.4, 0.8] 那麼在閾值分別取的時候,分別判斷出每個pred是tp/fp/tn/fp中的哪個,進而得出當前閾值下的tpr和fpr,也就是(fpr, tpr)這一roc曲線圖上的點;對於所有閾值都計算相應的(fpr, tpr),則得到完整的roc曲線上的幾個關鍵點,再連線(稍微腦補一下?)就得到完整roc曲線。(再進一步,auc也可以計算了,不是嘛?)

計算過程如下:

繪製得到的roc曲線為:

好吧,這個例子其實來自於如何繪製roc曲線。

對應的roc曲線為:

分類演算法如何繪製roc曲線 ROC曲線繪製方法

roc receiver operating characteristic 曲線即受試者工作特徵曲線。roc曲線與座標軸圍成的面積被稱為auc area under curve 這兩個指標和敏感性 特異性和準確性一起,是評估演算法模型效能常用的指標。在進一步介紹roc曲線如何繪製之前,先引入幾個概念...

python 繪製ROC曲線

簡述 機器學習很多是為測試樣本產生乙個 值,然後將這個 值與閾值進行對比,若大於閾值則分為正類,否則分為反類。這個 值的好壞,直接決定了學習器泛化能力。根據這個 值,我們可以對測試樣本進行排序,最可能 是正例的排在最前面,最不可能 是正例的排在最後面。這樣,分類過程就相當於在這個排序中以某個截斷點將...

Python學習 ROC曲線繪製

from sklearn.metrics import roc curve 匯入roc曲線函式 fpr,tpr,thresholds roc curve test 3 tree.predict proba test 3 1 pos label 1 test 3 測試集真實標記值 tree.predi...