分類演算法的評價

2021-09-05 11:05:12 字數 2382 閱讀 5812

引自:

分類演算法有很多,不同分類演算法又用很多不同的變種。不同的分類演算法有不同的特定,在不同的資料集上表現的效果也不同,我們需要根據特定的任務進行演算法的選擇,如何選擇分類,如何評價乙個分類演算法的好壞,前面關於決策樹的介紹,我們主要用的正確率(accuracy)來評價分類演算法。

正確率確實是乙個很好很直觀的評價指標,但是有時候正確率高並不能代表乙個演算法就好。比如某個地區某天**的**,假設我們有一堆的特徵作為**分類的屬性,類別只有兩個:0:不發生**、1:發生**。乙個不加思考的分類器,對每乙個測試用例都將類別劃分為0,那那麼它就可能達到99%的正確率,但真的**來臨時,這個分類器毫無察覺,這個分類帶來的損失是巨大的。為什麼99%的正確率的分類器卻不是我們想要的,因為這裡資料分布不均衡,類別1的資料太少,完全錯分類別1依然可以達到很高的正確率卻忽視了我們關注的東西。接下來詳細介紹一下分類演算法的評價指標。

這裡首先介紹幾個常見的模型評價術語,現在假設我們的分類目標只有兩類,計為正例(positive)和負例(negtive)分別是:

1)true positives(tp): 被正確地劃分為正例的個數,即實際為正例且被分類器劃分為正例的例項數(樣本數);

2)false positives(fp): 被錯誤地劃分為正例的個數,即實際為負例但被分類器劃分為正例的例項數;

3)false negatives(fn):被錯誤地劃分為負例的個數,即實際為正例但被分類器劃分為負例的例項數;

4)true negatives(tn): 被正確地劃分為負例的個數,即實際為負例且被分類器劃分為負例的例項數。

實際類別

**類別

yesno

總計yes

tpfn

p(實際為yes)

nofp

tnn(實際為no)

總計 p』(被分為yes)

n』(被分為no)

p+n

上圖是這四個術語的混淆矩陣,我只知道fp叫偽陽率,其他的怎麼稱呼就不詳了。注意p=tp+fn表示實際為正例的樣本個數,我曾經誤以為實際為正例的樣本數應該為tp+fp,這裡只要記住true、false描述的是分類器是否判斷正確,positive、negative是分類器的分類結果。如果正例計為1、負例計為-1,即positive=1、negtive=-1,用1表示true,-1表示false,那麼實際的類標=tfpn,tf為true或false,pn為positive或negtive。例如true positives(tp)的實際類標=11=1為正例,false positives(fp)的實際類標=(-1)1=-1為負例,false negatives(fn)的實際類標=(-1)(-1)=1為正例,true negatives(tn)的實際類標=1*(-1)=-1為負例。

1)正確率(accuracy)

正確率是我們最常見的評價指標,accuracy = (tp+tn)/(p+n),這個很容易理解,就是被分對的樣本數除以所有的樣本數,通常來說,正確率越高,分類器越好;

2)錯誤率(error rate)

錯誤率則與正確率相反,描述被分類器錯分的比例,error rate = (fp+fn)/(p+n),對某乙個例項來說,分對與分錯是互斥事件,所以accuracy =1 - error rate;

3)靈敏度(sensitive)

sensitive = tp/p,表示的是所有正例中被分對的比例,衡量了分類器對正例的識別能力;

4)特效度(specificity)

specificity = tn/n,表示的是所有負例中被分對的比例,衡量了分類器對負例的識別能力;

5)精度(precision)

精度是精確性的度量,表示被分為正例的示例中實際為正例的比例,precision=tp/(tp+fp);

6)召回率(recall)

召回率是覆蓋面的度量,度量有多個正例被分為正例,recall=tp/(tp+fn)=tp/p=sensitive,可以看到召回率與靈敏度是一樣的。

7)其他評價指標

計算速度:分類器訓練和**需要的時間;

魯棒性:處理缺失值和異常值的能力;

可擴充套件性:處理大資料集的能力;

可解釋性:分類器的**標準的可理解性,像決策樹產生的規則就是很容易理解的,而神經網路的一堆引數就不好理解,我們只好把它看成乙個黑盒子。

對於某個具體的分類器而言,我們不可能同時提高所有上面介紹的指標,當然,如果乙個分類器能正確分對所有的例項,那麼各項指標都已經達到最優,但這樣的分類器往往不存在。比如我們開頭說的****,沒有誰能準確****的發生,但我們能容忍一定程度的誤報,假設1000次**中,有5次**為發現**,其中一次真的發生了**,而其他4次為誤報,那麼正確率從原來的999/1000=99.9%下降到996/1000=99.6,但召回率從0/1=0%上公升為1/1=100%,這樣雖然謊報了幾次**,但真的**來臨時,我們沒有錯過,這樣的分類器才是我們想要的,在一定正確率的前提下,我們要求分類器的召回率盡可能的高。

分類演算法評價

一 引言 分類演算法有很多,不同分類演算法又用很多不同的變種。不同的分類演算法有不同的特定,在不同的資料集上表現的效果也不同,我們需要根據特定的任務進行演算法的選擇,如何選擇分類,如何評價乙個分類演算法的好壞,前面關於決策樹的介紹,我們主要用的正確率 accuracy 來評價分類演算法。正確率確實是...

分類演算法評價

一 引言 分類演算法有很多,不同分分類演算法又用很多不同的變種。不同的分類演算法有不同的特定,在不同的資料集上表現的效果也不同,我們需要根據特定的任務進行演算法的選擇,如何選擇分類,如何評價乙個分類演算法的好壞,前面關於決策樹的介紹,我們主要用的正確率 accuracy 來評價分類演算法。正確率確實...

分類演算法評價指標

第一種分析準則 第二種分析準則 0.0 0.20極低的一致性 slight 0.21 0.40一般的一致性 fair 0.41 0.60 中等的一致性 moderate 0.61 0.80 高度的一致性 substantial 0.81 1幾乎完全一致 almost perfect 例如對於眼底影象...