国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

AUC計算方法與Python實現代碼

瀏覽:4日期:2022-08-05 11:54:11

-AUC計算方法

-AUC的Python實現方式

AUC計算方法

AUC是ROC曲線下的面積,它是機器學習用于二分類模型的評價指標,AUC反應的是模型對樣本的排序能力。它的統計意義是從所有正樣本隨機抽取一個正樣本,從所有負樣本隨機抽取一個負樣本,當前score使得正樣本排在負樣本前面的概率。

AUC的計算主要以下幾種方法:

1、計算ROC曲線下的面積。這是比較直接的一種方法,可以近似計算ROC曲線一個個小梯形的面積。幾乎不會用這種方法

2、從AUC統計意義去計算。所有的正負樣本對中,正樣本排在負樣本前面占樣本對數的比例,即這個概率值。

具體的做法就是它也是首先對prob score從大到小排序,然后令最大prob score對應的sample 的rank為n,第二大score對應sample的rank為n-1,以此類推。

然后把所有的正類樣本的rank相加,再減去M-1種兩個正樣本組合的情況。

得到的就是所有的樣本中有多少對正類樣本的score大于負類樣本的score。

最后再除以M×N。

公式如下:

AUC計算方法與Python實現代碼

AUC的Python實現

通過上面方法二的公式,AUC計算的Python實現如下:

def calAUC(prob,labels): f = list(zip(prob,labels)) rank = [values2 for values1,values2 in sorted(f,key=lambda x:x[0])] rankList = [i+1 for i in range(len(rank)) if rank[i]==1] posNum = 0 negNum = 0 for i in range(len(labels)): if(labels[i]==1): posNum+=1 else: negNum+=1 auc = 0 auc = (sum(rankList)- (posNum*(posNum+1))/2)/(posNum*negNum) print(auc) return auc

其中輸入prob是得到的概率值,labels是分類的標簽(1,-1)

以上這篇AUC計算方法與Python實現代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 红桥区| 通渭县| 宜宾市| 昌平区| 延津县| 绥中县| 永新县| 神农架林区| 慈利县| 兴海县| 资兴市| 鄱阳县| 广河县| 泾川县| 婺源县| 丹凤县| 武穴市| 盱眙县| 靖江市| 志丹县| 邢台县| 茂名市| 合肥市| 黑山县| 南溪县| 长沙县| 松桃| 东海县| 图片| 太仆寺旗| 明水县| 独山县| 玉屏| 平邑县| 逊克县| 宝鸡市| 遂宁市| 垣曲县| 丰都县| 宜川县| 夹江县|