最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python機器學習利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線

 更新時間:2023年02月07日 16:33:51   作者:fanstuck  
這篇文章主要為大家介紹了Python機器學習利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、ROC與AUC

很多學習器是為了測試樣本產(chǎn)生的一個實值或概率預測,然后將這個預測值與一個分類閾值(threshold)進行比較,若大于閾值則分為正類,否則為反類。主要看需要建立的模型側(cè)重于想用在測試數(shù)據(jù)的泛華性能的好壞。排序本身的質(zhì)量好壞體系了綜合考慮學習去在不同任務下的“期望泛化性能”的好壞。ROC曲線則是從這個角度出發(fā)來研究學習器泛化性能。

1.ROC

ROC的全稱是“受試者工作特征”曲線,與P-R曲線相似。與P-R曲線使用查準率、查全率為縱、橫坐標不同,ROC曲線的縱軸是“真正例率”{簡稱TPR),橫軸是“假正例率”(簡稱FPR)二者分別定義為:

ROC曲線圖以真正例率為Y軸,假正例率為X軸。

2.AUC

進行檢驗判定ROC曲線性能的合理判據(jù)是比較ROC曲線下的面積,即AUC。從定義知AUC可通過對ROC曲線下各部分的面積求和而得,AUC可估算為:

從形式化看,AUC考慮的是樣本預測的排序質(zhì)量,因此它與排序誤差有緊密聯(lián)系。因此存在排序損失。

二、代碼實現(xiàn)

形式基本和P-R曲線差不多,只是幾個數(shù)值要改一下。

代碼如下(示例):

from sklearn import svm, datasets
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_curve, auc
from itertools import cycle
from sklearn.preprocessing import label_binarize #標簽二值化LabelBinarizer,可以把yes和no轉(zhuǎn)化為0和1,或是把incident和normal轉(zhuǎn)化為0和1。
import numpy as np
from sklearn.multiclass import OneVsRestClassifier
iris = datasets.load_iris()
# 鳶尾花數(shù)據(jù)導入
X = iris.data
#每一列代表了萼片或花瓣的長寬,一共4列,每一列代表某個被測量的鳶尾植物,iris.shape=(150,4)
y = iris.target
#target是一個數(shù)組,存儲了data中每條記錄屬于哪一類鳶尾植物,所以數(shù)組的長度是150,所有不同值只有三個
random_state = np.random.RandomState(0)
#給定狀態(tài)為0的隨機數(shù)組
y = label_binarize(y, classes=[0, 1, 2])
n_classes = y.shape[1]
n_samples, n_features = X.shape
X  = np.c_[X, random_state.randn(n_samples, 200 * n_features)]
#添加合并生成特征測試數(shù)據(jù)集
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    test_size=0.25,
                                                    random_state=0)
#根據(jù)此模型訓練簡單數(shù)據(jù)分類器
classifier = OneVsRestClassifier(svm.SVC(kernel='linear', probability=True,
                                 random_state=random_state))#線性分類支持向量機
y_score = classifier.fit(X_train, y_train).decision_function(X_test)
#用一個分類器對應一個類別, 每個分類器都把其他全部的類別作為相反類別看待。
fpr = dict()
tpr = dict()
roc_auc = dict()
for i in range(n_classes):
    fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i])
    #計算ROC曲線面積
    roc_auc[i] = auc(fpr[i], tpr[i])
fpr["micro"], tpr["micro"], _ = roc_curve(y_test.ravel(), y_score.ravel())
roc_auc["micro"] = auc(fpr["micro"], tpr["micro"])
import matplotlib.pyplot as plt
plt.figure()
lw = 2
plt.plot(fpr[2], tpr[2], color='darkorange',
         lw=lw, label='ROC curve (area = %0.2f)' % roc_auc[2])
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
plt.xlabel('FPR')
plt.ylabel('TPR')
plt.ylim([0.0, 1.0])
plt.xlim([0.0, 1.0])
plt.legend(loc="lower right")
plt.title("Precision-Recall")
plt.show()

效果

以上就是Python機器學習利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線的詳細內(nèi)容,更多關于Python數(shù)據(jù)繪制ROC AUC的資料請關注腳本之家其它相關文章!

相關文章

  • Python的這些庫,你知道多少?

    Python的這些庫,你知道多少?

    最近整理了一些好用的庫但是只是初級介紹,如果大家用得到的話還請自己到官網(wǎng)上查一下,因為東西太多我一 一介紹的話可能不太現(xiàn)實,需要的朋友可以參考下
    2021-06-06
  • python如何提取script的部分內(nèi)容

    python如何提取script的部分內(nèi)容

    文章介紹了如何使用Python提取網(wǎng)頁中的腳本部分內(nèi)容,并提供了一個示例腳本,該腳本使用了`requests`庫來獲取網(wǎng)頁內(nèi)容,并使用`BeautifulSoup`庫來解析HTML,提取出`
    2025-02-02
  • conda使用清華源設置channel的鏡像

    conda使用清華源設置channel的鏡像

    今天在下載OpenCV的時候發(fā)現(xiàn)清華的conda channel鏡像已經(jīng)不能用了,conda需要設置的源是anaconda的源,本來就來介紹一下在conda使用清華源設置channel的鏡像的方法,感興趣的可以了解一下
    2021-05-05
  • 利用OpenCV判斷是否加載圖片的兩種方法

    利用OpenCV判斷是否加載圖片的兩種方法

    這篇文章主要介紹了利用OpenCV判斷是否加載圖片的兩種方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python爬蟲基礎教程:requests庫(二)代碼實例

    python爬蟲基礎教程:requests庫(二)代碼實例

    這篇文章主要介紹了python爬蟲基礎教程:requests庫(二),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Django零基礎入門之路由path和re_path詳解

    Django零基礎入門之路由path和re_path詳解

    這篇文章主要介紹了Django零基礎入門之路由path和re_path,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Django通過自定義認證后端實現(xiàn)多種登錄方式驗證

    Django通過自定義認證后端實現(xiàn)多種登錄方式驗證

    Django提供了用戶認證系統(tǒng),那么如何在項目中進行應用呢?在本文中小編將給大家介紹如何使用用戶認證系統(tǒng),實現(xiàn)我們業(yè)務場景中常見的多種登錄方式驗證。感興趣的小伙伴可以了解一下
    2021-12-12
  • Python PyQt5標準對話框用法示例

    Python PyQt5標準對話框用法示例

    這篇文章主要介紹了Python PyQt5標準對話框用法,結(jié)合實例形式分析了PyQt5常用的標準對話框及相關使用技巧,需要的朋友可以參考下
    2017-08-08
  • 一文帶你玩轉(zhuǎn)python中的requests函數(shù)

    一文帶你玩轉(zhuǎn)python中的requests函數(shù)

    在Python中,requests庫是用于發(fā)送HTTP請求的常用庫,因為它提供了簡潔易用的接口,本文將深入探討requests庫的使用方法,感興趣的可以學習下
    2023-08-08
  • Python Sql數(shù)據(jù)庫增刪改查操作簡單封裝

    Python Sql數(shù)據(jù)庫增刪改查操作簡單封裝

    這篇文章主要為大家介紹了Python Sql數(shù)據(jù)庫增刪改查操作簡單封裝,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評論

吴忠市| 张家港市| 新巴尔虎右旗| 阳谷县| 崇左市| 亳州市| 开封县| 翁源县| 淮南市| 元谋县| 云和县| 临西县| 西林县| 陵水| 阳城县| 安顺市| 神池县| 鞍山市| 宿州市| 崇阳县| 珲春市| 信阳市| 正定县| 司法| 昭通市| 涟水县| 泌阳县| 临沧市| 紫阳县| 柳江县| 湛江市| 府谷县| 阳春市| 阿鲁科尔沁旗| 清水县| 柏乡县| 红原县| 田林县| 伊宁县| 临邑县| 会东县|