sklearn 評估指標auc和(歸一化)基尼系數


auc的解釋:

https://blog.csdn.net/u013385925/article/details/80385873

 

Gini和AUC的關系(Gini=2AUC-1真的成立嗎?):

https://blog.csdn.net/dongweionly/article/details/83573878

 

gini原版測試代碼(較長):

https://blog.csdn.net/u010665216/article/details/78528261 

 

sklearn 和 多分類上的auc例子:

注意,auc是計算曲線下的面積,曲線自己來定義。roc_auc_score 是專門計算roc曲線的面積。

https://www.pianshen.com/article/517880764/

 

import numpy as np

def gini(actual, pred):
    assert (len(actual) == len(pred))
    all = np.asarray(np.c_[actual, pred, np.arange(len(actual))], dtype=np.float)
    all = all[np.lexsort((all[:, 2], -1 * all[:, 1]))]
    totalLosses = all[:, 0].sum()
    giniSum = all[:, 0].cumsum().sum() / totalLosses

    giniSum -= (len(actual) + 1) / 2.
    return giniSum / len(actual)

def gini_norm(actual, pred):
    return gini(actual, pred) / gini(actual, actual)

predictions = [0.9, 0.3, 0.8, 0.75, 0.65, 0.6, 0.78, 0.7, 0.05, 0.4, 0.4, 0.05, 0.5, 0.1, 0.1]
actual = [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
k = gini_norm(actual, predictions)
k

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM