ROC AUC的介紹與引申(14)

2021-08-21 11:12:59 字數 1127 閱讀 5740

以白條的逾期**模型為例,這是乙個有監督的二分類模型,模型對每個樣本的**結果為乙個概率值,我們需要從中選取乙個閾值來區分好使用者和壞使用者。

如果我們已經定好了乙個閾值,超過此閾值定義為壞使用者(1),低於此閾值定義為好使用者(0),就可以計算出混淆矩陣(confusion matrix)。

根據混淆矩陣我們可以得到tp,fn,fp,tn四個值,tp即為**正確的壞使用者的個數,fn為**錯誤(**為好使用者)的壞使用者個數,根據這四個值即可計算精確率、召回率和f1。

精確率(precision)為tp/(tp+fp),即為在**為壞人的人中,**正確(實際為壞人)的人佔比。

召回率(recall)為tp/(tp+fn),即為在實際為壞人的人中,**正確(**為壞人)的人佔比。

f1值是精確率和召回率的調和均值,即f1=2pr/(p+r),相當於精確率和召回率的綜合評價指標。

另外還有fα值,為f1值的變體,

接著來說roc曲線(receiver operating characteristic curve),roc曲線其實是多個混淆矩陣的結果組合,如果在上述模型中我們沒有定好閾值,而是將模型**結果從高到低排序,將每個概率值依次作為閾值,那麼就有多個混淆矩陣。

對於每個混淆矩陣,我們計算兩個指標tpr(true positive rate)和fpr(false positive rate),tpr=tp/(tp+fn)=recall,tpr就是召回率。fpr=fp/(fp+tn),fpr即為實際為好人的人中,**為壞人的人佔比。我們以fpr為x軸,tpr為y軸畫圖,就得到了roc曲線。

auc(area under curve)的值為roc曲線下面的面積,若如上所述模型十分準確,則auc為1。

但現實生活中尤其是工業界不會有如此完美的模型,一般auc均在0.5到1之間,auc越高,模型的區分能力越好,上圖auc為0.81。

若auc=0.5,即與上圖中紅線重合,表示模型的區分能力與隨機猜測沒有差別。若auc真的小於0.5,請檢查一下是不是好壞標籤標反了,或者是模型真的很差。。。

ipython介紹 IPython的介紹與使用

1 ipython簡介 ipython是乙個python的互動式shell,比預設的python shell好用得多,支援變數自動補全,自動縮排,支援bash shell命令,內建了許多很有用的功能和函式。學習ipython將會讓我們以一種更高的效率來使用python。同時它也是利用python進行...

1 4 利用MFC進行開發的通用方法介紹

以下是我在最初學習vc時所常用的開發思路和方法,希望能對初學vc的朋友有所幫助和啟發。1 開發需要讀寫檔案的應用程式並且有簡單的輸入和輸出可以利用單文件視結構。2 開發注重互動的簡單應用程式可以使用對話方塊為基礎的視窗,如果檔案讀寫簡單這可利用cfile進行。3 開發注重互動並且檔案讀寫複雜的的簡單...

tslib 1 4的安裝與移植

一 移植環境 cpu s3c2440 sdram hy57v561620ftp h nor flash sst 39vf1601 2m nand flash k9f1g08u0b 128m 網絡卡晶元 dm9000ep 二 部落格位址 如有錯誤,歡迎指正。三 具體方法 之前把u boot的移植做完之...