python模型性能ROC和AUC分析詳解
正文
本文將介紹模型性能分析的兩個(gè)方法:ROC & AUC。
ROC
分析和曲線下面積 (AUC) 是數(shù)據(jù)科學(xué)中廣泛使用的工具,借鑒了信號(hào)處理,用于評(píng)估不同參數(shù)化下模型的質(zhì)量,或比較兩個(gè)或多個(gè)模型的性能。
傳統(tǒng)的性能指標(biāo),如準(zhǔn)確率和召回率,在很大程度上依賴于正樣本的觀察。因此,ROC 和 AUC 使用真陽(yáng)性率和假陽(yáng)性率來(lái)評(píng)估質(zhì)量,同時(shí)考慮到正面和負(fù)面觀察結(jié)果。
從分解問(wèn)題到使用機(jī)器學(xué)習(xí)解決問(wèn)題的過(guò)程有多個(gè)步驟。它涉及數(shù)據(jù)收集、清理和特征工程、構(gòu)建模型,最后是,評(píng)估模型性能。
當(dāng)您評(píng)估模型的質(zhì)量時(shí),通常會(huì)使用精度和召回率等指標(biāo),也分別稱為數(shù)據(jù)挖掘領(lǐng)域的置信度和靈敏度。
這些指標(biāo)將預(yù)測(cè)值與通常來(lái)自保留集的實(shí)際觀察值進(jìn)行比較,使用混淆矩陣進(jìn)行可視化。
讓我們首先關(guān)注精度,也稱為陽(yáng)性預(yù)測(cè)值。使用混淆矩陣,您可以將 Precision 構(gòu)建為所有真實(shí)陽(yáng)性與所有預(yù)測(cè)陽(yáng)性的比率。
召回率,也稱為真陽(yáng)性率,表示真陽(yáng)性與觀察到的和預(yù)測(cè)的所有陽(yáng)性的比率。
使用混淆矩陣中的不同觀察集來(lái)描述 Precision
和 Recall
,您可以開始了解這些指標(biāo)如何提供模型性能的視圖。
值得注意的是 Precision 和 Recall 只關(guān)注正例和預(yù)測(cè),而不考慮任何負(fù)例。此外,他們不會(huì)將模型的性能與中值場(chǎng)景進(jìn)行比較,中值場(chǎng)景只是隨機(jī)猜測(cè)。
1. ROC 曲線
ROC 作為匯總工具,用于可視化 Precision 和 Recall 之間的權(quán)衡。ROC 分析使用 ROC 曲線來(lái)確定二進(jìn)制信號(hào)的值有多少被噪聲污染,即隨機(jī)性。它為連續(xù)預(yù)測(cè)器提供了一系列操作點(diǎn)的靈敏度和特異性摘要。ROC 曲線是通過(guò)繪制 x 軸上的假陽(yáng)性率與 y 軸上的真陽(yáng)性率來(lái)獲得的。
由于真陽(yáng)性率是檢測(cè)信號(hào)的概率,而假陽(yáng)性率是誤報(bào)的概率,因此 ROC 分析也廣泛用于醫(yī)學(xué)研究,以確定可靠地檢測(cè)疾病或其他行為的閾值。
一個(gè)完美的模型將具有等于 1 的誤報(bào)率和真陽(yáng)性率,因此它將是 ROC 圖左上角的單個(gè)操作點(diǎn)。而最差的可能模型將在 ROC 圖的左下角有一個(gè)單一的操作點(diǎn),其中誤報(bào)率等于 1,真陽(yáng)性率等于 0。
隨機(jī)猜測(cè)模型有 50% 的機(jī)會(huì)正確預(yù)測(cè)結(jié)果,因此假陽(yáng)性率將始終等于真陽(yáng)性率。這就是為什么圖中有一條對(duì)角線,代表檢測(cè)信號(hào)與噪聲的概率為 50/50。
2. AUC 面積
要全面分析 ROC 曲線并將模型的性能與其他幾個(gè)模型進(jìn)行比較,您實(shí)際上需要計(jì)算曲線下面積 (AUC),在文獻(xiàn)中也稱為 c 統(tǒng)計(jì)量。曲線下面積 (AUC) 的值介于 0 和 1 之間,因?yàn)榍€繪制在 1x1 網(wǎng)格上,并且與信號(hào)理論平行,它是信號(hào)可檢測(cè)性的度量。
這是一個(gè)非常有用的統(tǒng)計(jì)數(shù)據(jù),因?yàn)樗梢宰屛覀兞私饽P蛯?duì)真實(shí)觀察結(jié)果和錯(cuò)誤觀察結(jié)果的排名有多好。它實(shí)際上是 Wilcoxon-Mann-Whitney 秩和檢驗(yàn)的歸一化版本,它檢驗(yàn)零假設(shè),其中兩個(gè)有序測(cè)量樣本是從單個(gè)分布 中抽取的。
要繪制 ROC 曲線并計(jì)算曲線下面積 (AUC),您決定使用 SckitLearn 的 RocCurveDisplay 方法并將多層感知器與隨機(jī)森林模型進(jìn)行比較,以嘗試解決相同的分類任務(wù)。
import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score, RocCurveDisplay def plot_roc(model, test_features, test_targets): """ Plotting the ROC curve for a given Model and the ROC curve for a Random Forests Models """ # comparing the given model with a Random Forests model random_forests_model = RandomForestClassifier(random_state=42) random_forests_model.fit(train_features, train_targets) rfc_disp = RocCurveDisplay.from_estimator(random_forests_model, test_features, test_targets) model_disp = RocCurveDisplay.from_estimator(model, test_features, test_targets, ax=rfc_disp.ax_) model_disp.figure_.suptitle("ROC curve: Multilayer Perceptron vs Random Forests") plt.show() # using perceptron model as input plot_roc(ml_percetron_model, test_features, test_targets)
歡迎Star -> 學(xué)習(xí)目錄
以上就是python模型性能ROC和AUC分析詳解的詳細(xì)內(nèi)容,更多關(guān)于python模型性能ROC AUC的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PYTHON基礎(chǔ)-時(shí)間日期處理小結(jié)
PYTHON時(shí)間日期處理函數(shù)以datetime為中心, 起點(diǎn)或中轉(zhuǎn), 轉(zhuǎn)化為目標(biāo)對(duì)象, 涵蓋了大多數(shù)業(yè)務(wù)場(chǎng)景中需要的日期轉(zhuǎn)換處理,這里就為大家介紹一下,需要的朋友可以參考下2018-05-05python庫(kù)ggpy安裝使用實(shí)例(散點(diǎn)圖創(chuàng)建)
這篇文章主要為大家介紹了python庫(kù)ggpy安裝使用實(shí)例,如何創(chuàng)建簡(jiǎn)單的散點(diǎn)圖及制作帶有趨勢(shì)線的散點(diǎn)圖詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01python通過(guò)Windows下遠(yuǎn)程控制Linux系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python通過(guò)Windows下遠(yuǎn)程控制Linux系統(tǒng),實(shí)現(xiàn)對(duì)socket模塊認(rèn)識(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06python實(shí)現(xiàn)模擬數(shù)字的魔術(shù)游戲
這篇文章介紹了python實(shí)現(xiàn)模擬數(shù)字的魔術(shù)游戲,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-12-12Python 實(shí)現(xiàn)購(gòu)物商城,含有用戶入口和商家入口的示例
下面小編就為大家?guī)?lái)一篇Python 實(shí)現(xiàn)購(gòu)物商城,含有用戶入口和商家入口的示例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09基于python寫個(gè)國(guó)慶假期倒計(jì)時(shí)程序
國(guó)慶假期快到了,想查查還有幾天幾小時(shí)到假期,這對(duì)程序員小菜一碟,輕輕松松用python寫個(gè)倒計(jì)時(shí)程序(天、時(shí)、分、秒),助你熬到假期2021-09-09