欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AUC計算方法與Python實現(xiàn)代碼

 更新時間:2020年02月28日 12:29:29   作者:phoebe尋常  
今天小編就為大家分享一篇AUC計算方法與Python實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

-AUC計算方法

-AUC的Python實現(xiàn)方式

AUC計算方法

AUC是ROC曲線下的面積,它是機器學(xué)習(xí)用于二分類模型的評價指標(biāo),AUC反應(yīng)的是模型對樣本的排序能力。它的統(tǒng)計意義是從所有正樣本隨機抽取一個正樣本,從所有負(fù)樣本隨機抽取一個負(fù)樣本,當(dāng)前score使得正樣本排在負(fù)樣本前面的概率。

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

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

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

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

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

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

最后再除以M×N。

公式如下:

AUC的Python實現(xiàn)

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

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是分類的標(biāo)簽(1,-1)

以上這篇AUC計算方法與Python實現(xiàn)代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pycharm修改file type方式

    pycharm修改file type方式

    今天小編就為大家分享一篇pycharm修改file type方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python 解決selenium 中的 .clear()方法失效問題

    python 解決selenium 中的 .clear()方法失效問題

    這篇文章主要介紹了python 解決selenium 中的 .clear()方法失效問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • python實現(xiàn)XML解析的方法解析

    python實現(xiàn)XML解析的方法解析

    這篇文章主要介紹了python實現(xiàn)XML解析的方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • 對Python中內(nèi)置異常層次結(jié)構(gòu)詳解

    對Python中內(nèi)置異常層次結(jié)構(gòu)詳解

    今天小編就為大家分享一篇對Python中內(nèi)置異常層次結(jié)構(gòu)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python實現(xiàn)網(wǎng)絡(luò)端口轉(zhuǎn)發(fā)和重定向的方法

    Python實現(xiàn)網(wǎng)絡(luò)端口轉(zhuǎn)發(fā)和重定向的方法

    這篇文章主要介紹了Python實現(xiàn)網(wǎng)絡(luò)端口轉(zhuǎn)發(fā)和重定向的方法,結(jié)合實例形式分析了Python基于threading和socket模塊實現(xiàn)端口轉(zhuǎn)發(fā)與重定向的具體操作技巧,需要的朋友可以參考下
    2016-09-09
  • Python?常用的print輸出函數(shù)和input輸入函數(shù)

    Python?常用的print輸出函數(shù)和input輸入函數(shù)

    這篇文章主要介紹了Python?常用的print輸出函數(shù)和input輸入函數(shù),今天主要學(xué)習(xí)一下Python中的輸入輸出流,會對標(biāo)準(zhǔn)輸入輸出流、文件輸入輸出流展開介紹,需要的朋友可以參考一下
    2022-02-02
  • numpy.sum()的使用詳解

    numpy.sum()的使用詳解

    這篇文章主要介紹了numpy.sum()的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python爬蟲抓取指定網(wǎng)頁圖片代碼實例

    Python爬蟲抓取指定網(wǎng)頁圖片代碼實例

    這篇文章主要介紹了Python爬蟲抓取指定網(wǎng)頁圖片代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • 如何利用pycharm進行代碼更新比較

    如何利用pycharm進行代碼更新比較

    這篇文章主要介紹了如何利用pycharm進行代碼更新比較,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python獲得一個月有多少天的方法

    python獲得一個月有多少天的方法

    這篇文章主要介紹了python獲得一個月有多少天的方法,涉及Python中datetime模塊操作日期的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06

最新評論