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

Python?sklearn預(yù)測評估指標(biāo)混淆矩陣計算示例詳解

 更新時間:2023年02月15日 11:38:07   作者:fanstuck  
這篇文章主要為大家介紹了Python?sklearn預(yù)測評估指標(biāo)混淆矩陣計算示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

很多時候需要對自己模型進行性能評估,對于一些理論上面的知識我想基本不用說明太多,關(guān)于校驗?zāi)P蜏?zhǔn)確度的指標(biāo)主要有混淆矩陣、準(zhǔn)確率、精確率、召回率、F1 score。另外還有P-R曲線以及AUC/ROC,這些我都有寫過相應(yīng)的理論和具體理論過程:

機器學(xué)習(xí):性能度量篇-Python利用鳶尾花數(shù)據(jù)繪制ROC和AUC曲線

機器學(xué)習(xí):性能度量篇-Python利用鳶尾花數(shù)據(jù)繪制P-R曲線

 這里我們主要進行實踐利用sklearn快速實現(xiàn)模型數(shù)據(jù)校驗,完成基礎(chǔ)指標(biāo)計算。

混淆矩陣

查準(zhǔn)率(precision)與查全率(recall)是對于需求在信息檢索、Web搜索等應(yīng)用評估性能度量適應(yīng)度高的檢測數(shù)值。對于二分類問題,可將真實類別與算法預(yù)測類別的組合劃分為真正例(ture positive)、假證例(false positive)、真反例(true negative)、假反例(false negative)四種情形。顯然TP+FP+TN+FN=樣例總數(shù)。分類結(jié)果為混淆矩陣:

以分類模型中最簡單的二分類為例,對于這種問題,我們的模型最終需要判斷樣本的結(jié)果是0還是1,或者說是positive還是negative。 因此,我們就能得到這樣四個基礎(chǔ)指標(biāo),我稱他們是一級指標(biāo)(最底層的):

  • 真實值是positive,模型認(rèn)為是positive的數(shù)量(True Positive=TP)
  • 真實值是positive,模型認(rèn)為是negative的數(shù)量(False Negative=FN):這就是統(tǒng)計學(xué)上的第二類錯誤(Type II Error)
  • 真實值是negative,模型認(rèn)為是positive的數(shù)量(False Positive=FP):這就是統(tǒng)計學(xué)上的第一類錯誤(Type I Error)
  • 真實值是negative,模型認(rèn)為是negative的數(shù)量(True Negative=TN)

預(yù)測性分類模型,肯定是希望越準(zhǔn)越好。那么,對應(yīng)到混淆矩陣中,那肯定是希望TP與TN的數(shù)量大,而FP與FN的數(shù)量小。所以當(dāng)我們得到了模型的混淆矩陣后,就需要去看有多少觀測值在第二、四象限對應(yīng)的位置,這里的數(shù)值越多越好;反之,在第一、三象限對應(yīng)位置出現(xiàn)的觀測值肯定是越少越好。

python代碼

混淆矩陣一般來說可以有三種實現(xiàn)展示方法,需要前置計算出混淆矩陣數(shù)據(jù),這一點使用sklearn就可以實現(xiàn):

from sklearn.metrics import confusion_matrix
y_true =df_evaluation.state_y
y_pred =df_evaluation.state_x
cm= confusion_matrix(y_true, y_pred,labels=[2,3,4,5])

其中cm就是計算出來的混淆矩陣:

利用sklearn的confusion_matrix函數(shù)就可以實現(xiàn),這里將該函數(shù)的參數(shù)鋪開一下:

sklearn.metrics.confusion_matrix(y_true, 
                                 y_pred, 
                                 *, 
                                 labels=None, 
                                 sample_weight=None, 
                                 normalize=None)

參數(shù)說明:

  • y_true:對比真值
  • y_pred: 預(yù)測值
  • labels:索引矩陣的標(biāo)簽列表。這可用于重新排序或選擇標(biāo)簽的子集。如果給定“無”,則按排序順序使用在y_true或y_pred中至少出現(xiàn)一次的值。
  • sample_weight:樣本權(quán)重
  • normalize:在真(行)、預(yù)測(列)條件或所有總體上規(guī)范化混淆矩陣。如果“無”,則混淆矩陣將不會被歸一化。

得到了混淆矩陣接下來進行數(shù)據(jù)可視化就好了,這里有三種實現(xiàn)形式,其中matplotlib和seaborn實現(xiàn)方法是一樣的,都是熱力圖實現(xiàn),另外sklearn自帶一個ConfusionMatrixDisplay也可以直接實現(xiàn)熱力。 第一種matplotlib/seaborn:

import seaborn as sns
import matplotlib.pyplot as plt
labels=[2,3,4,5]
sns.heatmap(cm,annot=True ,fmt="d",xticklabels=labels,yticklabels=labels)
plt.title('confusion matrix')  # 標(biāo)題
plt.xlabel('Predict lable')  # x軸
plt.ylabel('True lable')  # y軸
plt.show()

第二種ConfusionMatrixDisplay:

disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=labels)
disp.plot(
    include_values=True,            
    cmap="viridis",                 
    ax=None,                        
    xticks_rotation="horizontal",   
    values_format="d"               
)
plt.show()

這里我主要將一下ConfusionMatrixDisplay.plot()的可選參數(shù):

plot(*, 
     include_values=True, 
     cmap='viridis', 
     xticks_rotation='horizontal', 
     values_format=None, 
     ax=None, 
     colorbar=True, 
     im_kw=None, 
     text_kw=None)

參數(shù)說明:

  • include_values:bool,default=True。包括混淆矩陣中的值。
  • cmap:str or matplotlib Colormap, default=’viridis’。matplotlib識別的顏色映射。
  • xticks_rotation: {‘vertical’, ‘horizontal’} or float, default=’horizontal’。旋轉(zhuǎn)xtick標(biāo)簽。
  • values_format:str, default=None?;煜仃囍兄档母袷揭?guī)范。如果無,則格式規(guī)范為“d”或“.2g”,以較短者為準(zhǔn)。
  • ax: matplotlib axes, default=None。要繪制的軸對象。如果為“無”,則創(chuàng)建新的圖形和軸。
  • colorbar:bool, default=True。是否向繪圖添加色條。
  • im_kw:dict, default=None。使用傳遞給matplotlib.pyplot.imshow調(diào)用的關(guān)鍵字進行讀寫。
  • text_kw:dict, default=None。使用傳遞給matplotlib.pyplot.text調(diào)用的關(guān)鍵字進行讀寫。

以上就是Python sklearn預(yù)測評估指標(biāo)混淆矩陣計算示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python sklearn預(yù)測評估混淆矩陣的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中的圖像處理之Python圖像平滑操作

    Python中的圖像處理之Python圖像平滑操作

    本文主要介紹在Python中調(diào)用OpenCV庫對圖像進行圖像平滑濾波處理與圖像加噪處理,如雙邊濾波,高斯雙邊濾波,圖像加隨機噪聲等操作,對Python圖像平滑操作感興趣的朋友一起看看吧
    2022-06-06
  • python變量類型、輸入、輸出運算符介紹舉例

    python變量類型、輸入、輸出運算符介紹舉例

    Python是一種功能強大的編程語言,支持多種數(shù)據(jù)類型和運算符,它強調(diào)代碼的可讀性和簡潔性,變量在Python中是動態(tài)類型的,不需要顯式聲明類型,這篇文章主要介紹了python變量類型、輸入、輸出運算符的相關(guān)資料,需要的朋友可以參考下
    2024-11-11
  • Python編程批量實現(xiàn)md5加密pdf文件

    Python編程批量實現(xiàn)md5加密pdf文件

    這篇文章主要介紹了Python編程批量實現(xiàn)md5加密pdf文件,文章基于python的相關(guān)資料展開詳細(xì)內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下
    2022-04-04
  • Python在終端通過pip安裝好包以后在Pycharm中依然無法使用的問題(三種解決方案)

    Python在終端通過pip安裝好包以后在Pycharm中依然無法使用的問題(三種解決方案)

    這篇文章主要介紹了Python在終端通過pip安裝好包以后在Pycharm中依然無法使用的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Python使用pptx實現(xiàn)復(fù)制頁面到其他PPT中

    Python使用pptx實現(xiàn)復(fù)制頁面到其他PPT中

    這篇文章主要為大家詳細(xì)介紹了python如何使用pptx庫實現(xiàn)從一個ppt復(fù)制頁面到另一個ppt里面,文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下
    2023-02-02
  • Python中threading庫實現(xiàn)線程鎖與釋放鎖

    Python中threading庫實現(xiàn)線程鎖與釋放鎖

    threading用于提供線程相關(guān)的操作,為了保證安全的訪問一個資源對象,我們需要創(chuàng)建鎖。那么Python線程鎖與釋放鎖如何實現(xiàn),感興趣的小伙伴們可以參考一下
    2021-05-05
  • Python Pandas基礎(chǔ)操作詳解

    Python Pandas基礎(chǔ)操作詳解

    這篇文章主要介紹了Python使用Pandas庫常見操作,結(jié)合實例形式詳細(xì)分析了Python Pandas模塊的功能、原理、數(shù)據(jù)對象創(chuàng)建、查看、選擇等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2021-10-10
  • OpenCV實戰(zhàn)之OpenCV中的顏色空間

    OpenCV實戰(zhàn)之OpenCV中的顏色空間

    這篇文章主要介紹了OpenCV實戰(zhàn)之OpenCV中的顏色空間,解計算機視覺中常用的色彩空間,并將其用于基于顏色分割。我們還將用C?++和Python共享演示代碼,下文詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • Python 限定函數(shù)參數(shù)的類型及默認(rèn)值方式

    Python 限定函數(shù)參數(shù)的類型及默認(rèn)值方式

    今天小編就為大家分享一篇Python 限定函數(shù)參數(shù)的類型及默認(rèn)值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python獲取beautifulphoto隨機某圖片代碼實例

    python獲取beautifulphoto隨機某圖片代碼實例

    python獲取beautifulphoto隨機某圖片代碼實例,大家參考使用吧
    2013-12-12

最新評論

青冈县| 镇巴县| 沙洋县| 嘉禾县| 郓城县| 新泰市| 泰州市| 宕昌县| 延津县| 灵丘县| 柳江县| 平陆县| 桃源县| 多伦县| 长寿区| 西青区| 红河县| 卓资县| 巫山县| 手游| 安化县| 关岭| 崇明县| 沅江市| 龙州县| 平罗县| 黑龙江省| 图木舒克市| 吉木萨尔县| 鹤山市| 宝坻区| 金湖县| 贵阳市| 商南县| 安塞县| 额敏县| 山阳县| 通渭县| 德江县| 双峰县| 长乐市|