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系數的計算方法可以這樣來表示:




