python金融風控評分卡模型和數據分析微專業課(博主親自錄制視頻):http://dwz.date/b9vv
python腳本
""" 項目合作QQ:231469242 這個系數的取值范圍是[-1,1],實際應用中,一般是[0,1] 這個系數的值越高,則代表模型實現的分類准確度越高 """ def kappa(matrix): n = np.sum(matrix) sum_po = 0 sum_pe = 0 for i in range(len(matrix[0])): sum_po += matrix[i][i] row = np.sum(matrix[i, :]) col = np.sum(matrix[:, i]) sum_pe += row * col po = sum_po / n pe = sum_pe / (n * n) # print(po, pe) return (po - pe) / (1 - pe) #其中,matrix是一個方陣,若共有i個類別,則matrix.shape = (i,i). #用下面的代碼進行測試: import numpy as np matrix = [ [239,21,16], [16,73,4], [6,9,280]] matrix = np.array(matrix) print(kappa(matrix))
引言
分類是機器學習中監督學習的一種重要應用,基於統計的機器學習方法可以使用SVM進行二分類,可以使用決策書,梯度提升樹等進行多分類。
對於二分類模型,我們通常可以使用ROC曲線來評估模型的預測效果。這里,我們介紹一下在多分類中衡量模型評估准確度的一種方法–kappa系數評估方法。
Kappa系數
首先,我們介紹一下kappa系數:
kappa系數是用在統計學中評估一致性的一種方法,我們可以用他來進行多分類模型准確度的評估,這個系數的取值范圍是[-1,1],實際應用中,一般是[0,1],與ROC曲線中一般不會出現下凸形曲線的原理類似。
這個系數的值越高,則代表模型實現的分類准確度越高。kappa系數的計算方法可以這樣來表示: