機器學習中評估指標 周志華《機器學習》筆記

2021-08-18 19:10:59 字數 1783 閱讀 2208

問題環境:

挑出來的西瓜有多少比例是好瓜

好瓜中有多少被挑出來了

混淆矩陣可以這麼解讀:

第乙個字母表示我**的結果對還是錯,t就是true,f就是false;

第二個字母表示,我**的是什麼正p(positive)還是負(negative);

矩陣對角線上的是我**對的

- 查準率,準確率,precision

挑出來的瓜(我**是好瓜)中真實為好瓜的比例,這樣才能判斷我**的準確率是多少嘛 tp

tp+f

p tpt

p+fp

分母是**結果中第一列,正例的和

- 查全率,召回率,recall

好瓜中有多少被我正確挑出來了 tp

tp+f

n tpt

p+fn

-從文式圖理解

- 查準率和查全率的關係

這兩個是一對矛盾的度量。一般不能兼顧。

現在想提高查準率,那麼我就只把我**是好瓜的才拿出來,結果就是準確率上來了,因為我為了保險,只**了1個,準確率100%,但是還有那麼多好瓜,加入還有99個沒有**出來,查的不全啊;如果想提高,查全率,比如挑出來100個瓜都認為是好的,但是只有50個真的是好瓜,查全率為50%,但是準確率下降了。 - f

1 f1

在一些具體場景下,對recall和precision的需求不一樣;

比如在推薦系統中,盡可能希望少打擾使用者,因此更在意準確率;

在逃犯資訊檢索中,不漏掉嫌疑人,更注重查全率;

在醫生檢查患者場景下,健康:患者=100:1,如果想提高準確率,怎麼做?其實,這種場景下考慮的是查全率,所以不會有提高準確率這種要求了。 2∗

p∗pp

reci

sion

+rec

all 2∗p

∗ppr

ecis

ion+

reca

ll上述公式,更注重較小值

很多情況,ml產生的結果是概率**,然後定乙個閥值來判斷正負類別,實際上,根據這個概率**,可以對測試樣本進行排序,最可能的正類排在最前面,最不可能的正類排在後面。這裡統一說正類,因為我們設定就是要**它是正類的概率大小嘛~

roc體現了一般情況下模型的泛化能力好壞

別忘了,起初,我們是要**這個樣本為正類的概率,那麼我們的**結果就有真正率(recall),假正率。

- roc曲線繪製過程 給m

+ m

+個正例,m−

m

−個負例,根據模型**結果,對樣例進行排序,然後先把閥值設定為最大,此時認為所有的都是負例,此時真正率,假正率都是0,即(0,0)。

然後將分類閥值依次設定為每個樣例的**值,即依次將每個樣本劃分為正例。設前乙個標記點為(x,y),若當前的樣本為真正例,對應標記點更新為(x

+1m−

,y) (x+

1m−,

y),若當前的樣本為假正例,對應標記點更新為(x

,y+1

m+) (x,

y+1m

+),然後用線段連線相鄰點。

機器學習 評估指標

2.1 錯誤率與精度 m個樣本,有a個分錯。錯誤率 e a m 精度 acc 1 a m 2.2 查準率 查全率和f1 tp 真正例 tn 真反例 fp 假正例 fn 假反例 查準率 p tptp fp 查全率 r tptp fn f1是查準率和查全率的調和平均數 1f 1 12 1p 1r 即 f...

《機器學習》隨心記 周志華版 評估方法

這學期,將學習周志華老師的 機器學習 這本書,一周兩章,每章我都會做上一點筆記,筆記或多或少,或工整或潦草,一切根據我當時的時間和心情而定,簡單的定義或者易理解的知識我可能附上定義甚至不寫,不懂的地方會特別強調指出。所以這個學習系列我稱為 機器學習 隨心記。第一部分 問題 p24 第一段話是什麼意思...

機器學習 模型評估指標

from sklearn.metrics import accuracy score print 準確率 accuracy score y true,y pred,normalize true print 正確分類的數量 accuracy score y true,y pred,normalize ...