熱線電話:13121318867

登錄
首頁大數據時代K-s曲線是什么,如何進行繪制?
K-s曲線是什么,如何進行繪制?
2020-07-17
收藏

今天跟大家分享的是:K-s曲線,直接上干貨。

一、K-s曲線是什么

K-s全稱:Kolmogorov-Smirnov,中文名叫做洛倫茲曲線,Ks經常被用于模型風險區分能力進行評估, 指標衡量的是好壞樣本累計分部之間的差值。好壞樣本累計差異越大,Ks指標越大,那么模型的風險區分能力越強。

K-s曲線的數據來源和本質是與ROC曲線是一致的,只不過ROC曲線是將真正類率和假正類率作為橫縱軸,K-s曲線則是把真正率和假正率都當作是縱軸,橫軸為選定的閾值。

簡單來理解就是:K-s曲線是兩條線,橫軸是閾值,縱軸是TPR與FPR的值,值范圍[0.1] 。TPR與FPR這兩條曲線之間相距最遠的地方對應的閾值,為最能劃分模型的閾值。

下面來解釋以下TPR與FPR:

TPR:真正類率(true positive rate), 計算公式為TPR=TP/ (TP+ FN),刻畫的是分類器所識別出的 正實例占所有正實例的比例。

FPR:假正類率(false positive rate),計算公式為FPR= FP / (FP + TN),計算的是分類器錯認為正類的負實例占所有負實例的比例。

其中:

TP:真實為1且預測為1的數目

FN:真實為1且預測為0的數目

FP:真實為0的且預測為1的數目

TN:真實為0的且預測為0的數目

K-S值計算公式:K-S=max(TPR-FPR)

K-S值<0.2.一般認為模型沒有區分能力。

K-S值[0.2.0.3],模型具有一定區分能力,勉強可以接受

K-S值[0.3.0.5],模型具有較強的區分能力。

K-S值大于0.75.往往表示模型有異常。

二、K-s曲線繪制


import matplotlib.pyplot as plt
#第一個參數是模型的預測值,第二個參數是模型的真實值
def draw_ks_curve(predict_result,true_result):
    tpr_list = []  #存放真正率數據
    fpr_list = []  #存放假正率數據
    dif_list = []  #存放真假正率差值
    max_ks_dot = []
    
    for i in np.arange(0,1.1,0.1):
        tpr = 0
        fpr = 0
        for j in range(len(predict_result)):
            if list(predict_result[j])[0]>i and true_result[j]==1:
               tpr = tpr+1
               tpr_list.append(tpr)
            if list(predict_result[j])[0]>i and true_result[j]==0:
               fpr = fpr+1
               fpr_list.append(fpr)
        tpr = tpr/sum(true_result)
        fpr = fpr/(len(true_result)-sum(true_result))
    fig = plt.figure(num=1, figsize=(15, 8),dpi=80)     #開啟一個窗口,同時設置大小,分辨率
    plt.plot(np.arange(0,1,0.1),tpr_list)
    plt.plot(np.arange(0,1,0.1),fpr_list)


想深入學習統計學知識,為數據分析筑牢根基?那快來看看統計學極簡入門課程!


學習入口:https://edu.cda.cn/goods/show/3386?targetId=5647&preview=0

課程由專業數據分析師打造,完全免費,60 天有效期且隨到隨學。它用獨特思路講重點,從數據種類到統計學體系,內容通俗易懂。學完它,能讓你輕松入門統計學,還能提升數據分析能力。趕緊點擊鏈接開啟學習,讓自己在數據領域更上一層樓!

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢