2015-06-09 73 views
0

我對分類準確性的理解始終是「#正確分類的實例除以#物質」。 使用Java-ML並將LibSVM應用於多標籤問題我爲每個CLASS獲得準確度(和其他度量)。我無法弄清楚它們是如何相關的以及整體準確度如何。對多類分類的Java-ML結果的解釋

例如,對於我的3類問題,我得到的結果如下:

Anger: Accuracy = 0.48148148148148145 | F = 0.35 | Precision = 0.310126582278481 | Error rate = 0.5185185185185185 
Neutral: Accuracy = 0.9971509971509972 | F = 0.0 | Precision = NaN | Error rate = 0.002849002849002849 
Surprise: Accuracy = 0.47863247863247865 | F = 0.5653206650831354 | Precision = 0.616580310880829 | Error rate = 0.5213675213675214 

我的哪些代碼如下所示:

Map<Object, PerformanceMeasure> pm = cv.crossValidation(data, 5); 
for (Object o : pm.keySet()) { 
       System.out.println(o + ": Accuracy = " + pm.get(o).getAccuracy() 
         + " | F = " + pm.get(o).getFMeasure() 
         + " | Precision = " + pm.get(o).getPrecision() 
         + " | Error rate = " + pm.get(o).getErrorRate()); 
} 

回答

0

的整體精度不在於信息是否有是不是一個類的均勻分佈,這可能是你的情況。你仍然可以計算一個雖然如果你想要的,請參閱: http://spokenlanguageprocessing.blogspot.com/2011/12/evaluating-multi-class-classification.html

要回答你的關於它們是如何相關的其他問題,結果是按班級計算。所以對於中性(情緒?),你有很高的準確性(超過99%),儘管你沒有預測到一箇中性的例子(因此你的數據集中可能沒有任何NaN)。你的準確性正在提高,因爲你稱之爲「不中立」的所有其他事物,並且有很多這樣的情況。其他案例更容易理解,因爲它們有正面和負面的例子和更合理的數字。希望這可以幫助。