1,這三個率能干啥?
這三個率能比較一個模型的好壞。
舉個栗子,我有10個香蕉,1代表好香蕉,0代表壞香蕉,它們依次排列如下:
1 1 1 1 1 0 0 0 0 0
我讓a模型幫我分出好香蕉,它給出這樣的結果
1 1 1 1 0 0 0 0 0 1
好吧,讓我們分析一下a模型干的活。
我們大致可以分為如下四種情況:
本來是好香蕉,a也認為是好香蕉,有4個
本來是好香蕉,a認為是壞香蕉,有1個
本來是壞香蕉,a也認為是壞香蕉,有4個
本來是壞香蕉,a認為是好香蕉,有1個
好吧,看暈了,是時候引進一些科學的思想了!我們把四個類型按照實際值和預測值進行系統化分類:
預測 | 預測 | |||
1 | 0 | 合計 | ||
實際 | 1 | TP | FN | actual positive |
實際 | 0 | FP | TN | actual negative |
合計 | predicted positive | predicted negative | 總的樣本數 |
得出a模型的數據如下:
tp:4
fn:1
fp:1
tn:4
類分好了,開始分析吧
2,精確率
精確率是相對於預測結果而言的,它表示的是預測為正的樣本中有多少是對的;
精確率的分子是識別正確的正樣本數量,分母是模型認為的正樣本數量
P=TP/(TP+FP)
a模型的精確率應該是:4/(4+1)=4/5
3,召回率
召回率是相對於樣本而言的,即樣本中有多少正樣本被預測正確了;
召回率的分子是識別正確的正樣本數量,分母是實際上有多少正樣本。
R= TP / (TP+FN)
a模型的召回率應該是:4/(4+1)=4/5
4,准確率
准確率是指有在所有的判斷中有多少判斷正確的,即把正的判斷為正的,還有把負的判斷為負的;
准確率的分子是識別為正的正樣本數量加上識別為負的負樣本數量,分母是樣本總數。
P=(TP+TN) / (TP+TN+FN+FP)
a模型的准確率應當是:(4+4)/10=4/5
好的,a模型的精確率,召回率和准確率都是4/5,
我又讓b模型幫我分香蕉,香蕉還是那些香蕉,排列也沒變,為了方便看,復制如下
1 1 1 1 1 0 0 0 0 0
b給出的結果
1 0 0 0 0 0 0 0 0 0
根據如上的算法,我們得出b的三率:
精確率:1
召回率:1/5
准確率:3/5
那么問題來了,a模型和b模型,哪個比較好?
看精確率是b高,看召回率是a高,這可咋整?
5,平均數算法
精確率暫時不做考慮,讓我們來對a和b的精確率和召回率進行分析
1),算數平均數,(對精確率和召回率求算數平均數)
a模型:4/5
b模型:3/5
a模型得分80,b模型得分60。但是很明顯。b模型配不上60分。我們考慮換個算法
2),幾何平均數,就是n個項相乘然后開n次方
a模型:0.8*0.8然后開方,得到0.8
b模型:1*0.2然后開方,得到0.44
a模型仍舊是80,b模型這次只得了44分。感覺舒服一些了,還有什么算法呢?
3),調和平均數,又稱倒數平均數,是總體各統計變量倒數的算術平均數的倒數。
解釋一下,就是n個樣本先求倒數,然后求和除以n,然后對結果求倒數。
a模型:(5/4+5/4)/2然后求倒數,得到4/5
b模型:(1+5)/2然后求倒數,得到1/3
a模型仍舊是80,b模型這次33分,這回舒服多了。
順帶說一聲,三個平均數對極小值的敏感程度為:調和平均數>幾何平均數>算數平均數