哈囉大家好,我是橘白卯咪,歡迎大家來看看我能不能撐過30天
今天我們來說說怎麼算、怎麼看準確度報告
接著昨天,你拎著被學長喝斥完傷心的自己回到座位
突然發現,你的系統除了跑出混淆矩陣,還印出了一些奇怪的文字
accuracy on training set is 0.99
accuracy on testing set is 0.93
accuracy report:
precision | recall | f1-score | support | |
---|---|---|---|---|
dab | 0.94 | 0.96 | 0.95 | 334 |
other | 0.97 | 0.92 | 0.95 | 206 |
accuracy | 0.95 | 540 | ||
macro avg | 0.96 | 0.94 | 0.95 | 540 |
weighted avg | 0.95 | 0.94 | 0.95 | 540 |
天吶!這個是? 你學長要的數字,對吧?
來看看每一行的意義吧
就是很直覺的答對率
例: 考模型小朋友100題,模型小朋友答對(和真實標籤相符)98題,準確度0.98
(中文翻譯準確跟精確實在很難分啊...
可以想成"模型回答為某一類別的資料中,有幾個是對的、真正的某一類別資料"
例: 你餵給模型小朋友若干個影像,它回答你共有100個dab影像,結果你對了一下答案,只有98個是,這樣精確率就是0.98
修但幾壘?它召回了什麼?
這個名字跟混淆矩陣一樣令人困惑
可以想成你餵了一堆你已知答案的資料進去,可以"召回"多少正確的答案
例: 你餵給模型小朋友100個你已知行為是dab的影像,模型小朋友回答你有98個影像是dab,這樣召回率就是0.98
由於精確率跟召回率都很重要,所以使用f1-score來綜合考慮兩者
公式:
現在假設你獲得的混淆矩陣長這樣:
dab | 0.9 | 0.1 |
---|---|---|
other | 0.1 | 0.9 |
dab | other |
準確度: (答對)/(全部題數)=(0.9+0.9)/(1+1)=0.9
精確度:(被回答是dab且實際為dab)/(模型小朋友回答是dab)=0.9/(0.1+0.9)=0.9
召回率:(實際為dab且模型小朋友回答是dab)/(實際為dab)=0.9/(0.9+0.1)=0.9
f1-score: 2*(準確率x召回率)/(準確率+召回率)=2*0.81/1.8=0.9
先消化一下~明天再繼續~