ml-metrics

ROC_Analysis
理解 ROC 和 AUC
ROC和AUC介绍以及如何计算AUC

AUC 三种计算方法

ROC曲线下面积原始定义方法

关于面积和概率理解一致的证明.理解 ROC 和 AUC

简化版求面积方法

在生成ROC曲线的过程中就可以计算出来

def auc(label, score):
    assert len(label) == len(score)
    data = sorted(zip(label, score), key=lambda x: x[1], reverse=True)
    auc = 0.0
    size = len(data)
    height = 0.0
    pos = [item for item in data if item[0] == 1]
    neg = [item for item in data if item[0] == 0]
    tpr = 1. / len(pos)
    fpr = 1. / len(neg)
    for item in data:
        if item[0] == 1:
            height += tpr
        else:
            auc += height * fpr
    return auc

大数据集上的抽样概率法

根据auc 描述任意取一个正例和负例,预测的整列预测值大于负例预测值的概率