機器學習:多分類模型評價準則

機器學習中,遇見的往往是二分類問題比較多,二分類模型的模型評價準則很多,Auc_score,F1_score,accuracy等等都是比較常用的。而針對多分類問題來說,有些二分類的評價準則就相對而言不怎麼適用了。雖然可以將多分類問題轉化爲多個2vs2問題進行討論,步驟繁雜的同時效果也得不到保障。目前在進行多模態的一個分類研究,在模型評價時也廢了不少腦筋,所以在這裏將看到的比較常用的多分類評價準則進行整理,便於日後學習。

評價準則

1.Kappa係數

Kappa係數是基於混淆矩陣的計算得到的模型評價參數。計算公式如下:

係數的值在-1到1之間,係數小於0的話實際上就相當於隨機了

python實現爲:

from sklearn.metrics import cohen_kappa_score
kappa = cohen_kappa_score(y_true,y_pred,label=None) #(label除非是你想計算其中的分類子集的kappa係數,否則不需要設置)

2.海明距離

海明距離也適用於多分類的問題,簡單來說就是衡量預測標籤與真實標籤之間的距離,取值在0~1之間。距離爲0說明預測結果與真實結果完全相同,距離爲1就說明模型與我們想要的結果完全就是背道而馳。python實例如下。

from sklearn.metrics import hamming_loss
ham_distance = hamming_loss(y_true,y_pred)

3.傑卡德相似係數

它與海明距離的不同之處在於分母。當預測結果與實際情況完全相符時,係數爲1;當預測結果與實際情況完全不符時,係數爲0;當預測結果是實際情況的真子集或真超集時,距離介於0到1之間。
我們可以通過對所有樣本的預測情況求平均得到算法在測試集上的總體表現情況。

from sklearn.metrics import jaccard_similarity_score
jaccrd_score = jaccrd_similarity_score(y_true,y_pred,normalize = default)
#normalize默認爲true,這是計算的是多個類別的相似係數的平均值,normalize = false時分別計算各個類別的相似係數

4.鉸鏈損失

鉸鏈損失(Hinge loss)一般用來使“邊緣最大化”(maximal margin)。損失取值在0~1之間,當取值爲0,表示多分類模型分類完全準確,取值爲1表明完全不起作用。

from sklearn.metrics import hinge_loss
hinger = hinger_loss(y_true,y_pred)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章