AUC計算 手把手步進操作

2022-05-18 02:45:49 字數 1281 閱讀 3714

2017-07-10 14:38:24

理論參考: 

評估分類器效能的度量,像混淆矩陣、roc、auc等

roc全稱:receiver operation characters,適用於二分類。

同理可得由roc曲線計算的auc,適用於二分類。

計算auc需要知道這個**:

實際正樣本

實際負樣本

**正樣本

正樣本正確數

正樣本錯誤數

**負樣本

負樣本錯誤數

負樣本正確數

其中實際正樣本常被成為positive,實際負樣本常被成為negative。

對應的**中資料分別為true positive、false positive、true negative、false negative。

對應的概率rate,分別為tpr、fpr、tnr、fnr。

其中tpr=tp/p、fpr=fp/n,繪製roc,主要使用tpr和fpr。

使用網上的例子:

模型**情況與實際類標情況:

由以上繪製的roc曲線及各點取值。

當閾值自高向低取,分別為0.9、0.8、0.7、0.6、0.55。

0.9:tpr:0.1,fpr:0

0.8:tpr:0.2,fpr:0

0.7:tpr:0.2,fpr:0.1

0.6:tpr:0.3,fpr:0.1

0.55:tpr:0.4,fpr:0.1

按照取值繪製roc圖線,計算圖線下面積即可得auc。

其中:以0.7舉例trp和fpr如何統計:

當閾值為0.7時,可得模型將1、2、3樣本分為了正樣本,其他為負樣本。

1、2、3中正樣本正確了兩個。

tpr:正樣本正確率為正樣本正確數目/所有正樣本數目:2/10=0.2。

fpr:正樣本錯誤率為正樣本錯誤數目/所有負樣本數目:1/10=0.1。

那麼在0.7為閾值可以繪製roc曲線點:(0.1,0.2)。

以此類推。繪製多個閾值下的roc曲線點,可得roc曲線的近似值。(因為閾值取值數量有限,故roc為近似值)

計算auc:

因為roc曲線近似,可以利用矩陣面積加和得到面積和。(計算auc面積和,就可以按個人喜好計算了,spark mllib中的auc是按座標取值計算連線形成梯形的面積加和。個人感覺按縱軸計算矩陣面積實現更容易一些,但精度有損失。)

當roc為精確時,需要積分。僅存於理論層面。

手把手 QT 計算器

環境vs2008 qt4.86 1.新建專案 2.選擇一些選項,classname 自動生成的,隨便用什麼名字。3.在類中新增如下變數 功能是 結果顯示,輸入顯示,24個按鍵,組合按鍵 用於signals方便用乙個slot實現 計算字串輸入 中綴表達 計算字串結果 字尾表達 最後的結果 4.新增sl...

Thinkphp手把手練習

準備條件 thinkphp框架 1.在apache的www目錄下新建資料夾,命名為thinkphp,可以將thinkphp框架放在該目錄中。確定應用名稱 確定應用路徑 開啟除錯模式 應用核心檔案,這裡根據thinkphp的路徑決定,此處用的是相對路徑 require thinkphp thinkph...

手把手搭建vps FQ

廢話不多說了,直接上手幹起來 一 vps選擇及購買 樓主選擇的是搬瓦工,網上口碑還是很不錯的,而且 也較便宜。購買 已被牆。可訪問國內備用 購買方案 如果只是個人用推薦購買 19.99 year,有時可能會斷貨。且現在支援支付寶購買。配置如下 關於架構和線路選擇樓主不是很熟悉,等日後會了更新 購買流...