PyCM多類別混淆矩陣分析python庫功能使用探究
今天給大家分享一個神奇的 python 庫,PyCM
https://github.com/sepandhaghighi/pycm
PyCM多類混淆矩陣庫
PyCM是 Python Confusion Matrix 的縮寫,是一個用 Python 編寫的多類混淆矩陣庫,專門用于多類別混淆矩陣分析。
它提供了一種簡單而有效的方式來評估分類器的性能。通過分析混淆矩陣,PyCM 能夠提供多種統(tǒng)計(jì)指標(biāo),幫助用戶從不同角度評價分類模型的表現(xiàn)。這些指標(biāo)包括但不限于準(zhǔn)確率、召回率、F1分?jǐn)?shù)、Kappa 統(tǒng)計(jì)量等,支持二分類、多分類及多標(biāo)簽分類問題。
特點(diǎn)
PyCM 具有如下特點(diǎn)。
多類支持
PyCM 專門設(shè)計(jì)用于輕松處理多類混淆矩陣。與其他一些主要關(guān)注二元分類的軟件包不同,PyCM 使用戶能夠在涉及多個類的場景中評估模型。
多功能性
PyCM 是一個多功能庫,除了基本的混淆矩陣計(jì)算之外,還支持廣泛的功能。PyCM 具有可視化、比較、參數(shù)推薦和多標(biāo)簽等功能,為深入模型評估提供了全面的工具包。
廣泛的指標(biāo)集
PyCM 提供了廣泛的指標(biāo)集來評估模型性能。從準(zhǔn)確度、精確度、召回率和 F1 分?jǐn)?shù)等標(biāo)準(zhǔn)指標(biāo)到標(biāo)記性和信息性等高級指標(biāo),PyCM 提供了模型優(yōu)缺點(diǎn)的整體視圖。這些豐富的指標(biāo)增強(qiáng)了分析的粒度,使用戶能夠就模型改進(jìn)做出明智的決策。
庫的安裝
可以直接通過 pip 來進(jìn)行安裝。
pip install pycm
混淆矩陣
PyCM 的 ConfusionMatrix 用法涉及通過提供實(shí)際向量和預(yù)測向量、直接混淆矩陣或從文件加載信息來創(chuàng)建對象。實(shí)例化后,你可以訪問大量統(tǒng)計(jì)指標(biāo)和可視化。
下面我們來看一個簡單的案例,通過提供實(shí)際向量和預(yù)測向量來實(shí)例化 ConfusionMatrix 對象。
from pycm import * y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2] y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2] cm = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred) cm.classes #[0, 1, 2]
輸出混淆矩陣
cm.print_matrix()
cm.print_normalized_matrix()
接著計(jì)算統(tǒng)計(jì)指標(biāo)。
cm.stat(summary=True)
繪圖
用戶可以使用 plot 方法來可視化混淆矩陣??梢暬癁槟P驮u估和報告結(jié)果增加了一層額外的可解釋性。
from matplotlib import pyplot as plt cm.plot(cmap=plt.cm.Greens, number_label=True, plot_lib="matplotlib") cm.plot(cmap=plt.cm.Reds, normalized=True, number_label=True, plot_lib="seaborn")
ROC 曲線
在ROC曲線中,Y軸代表真陽性率,X軸代表假陽性率。因此,理想的點(diǎn)位于曲線的左上方,曲線下方的面積越大,代表性能越好。ROC 曲線是二元分類器性能的圖形表示。
在 PyCM 中,ROCCurve 基于 “One vs. Rest” 策略對輸出進(jìn)行二值化,為多類分類器提供 ROC 擴(kuò)展。獲取實(shí)際標(biāo)簽向量、正類的目標(biāo)概率估計(jì)以及類的有序標(biāo)簽列表,該方法能夠計(jì)算并繪制不同判別閾值的 TPR-FPR 對,并計(jì)算 ROC 曲線下的面積。
crv = ROCCurve(actual_vector=np.array([1, 1, 2, 2]), probs=np.array([[0.1, 0.9], [0.4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1]) crv.thresholds #[0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9] auc_trp = crv.area() auc_trp[1] #0.75
以上就是PyCM多類別混淆矩陣分析python庫功能使用探究的詳細(xì)內(nèi)容,更多關(guān)于python PyCM多類別混淆矩陣的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解
問起面向?qū)ο蟮娜筇匦?,幾乎每個人都能對答如流:封裝、繼承、多態(tài)。今天我們就要來說一說Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型,感興趣的朋友跟隨小編一起看看吧2019-05-05教你用python編寫腳本實(shí)現(xiàn)自動簽到
這篇文章主要介紹了教你怎樣用python編寫腳本實(shí)現(xiàn)自動簽到,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)
這篇文章主要介紹了Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)的相關(guān)資料,需要的朋友可以參考下2015-12-12Python實(shí)現(xiàn)圖像的二進(jìn)制與base64互轉(zhuǎn)
這篇文章主要為大家介紹了如何在Python中使用OpenCV從而實(shí)現(xiàn)圖像轉(zhuǎn)base64編碼、圖像轉(zhuǎn)二進(jìn)制編碼、二進(jìn)制轉(zhuǎn)圖像等功能,感興趣的可以跟上小編一起學(xué)習(xí)一下2022-03-03django配置DJANGO_SETTINGS_MODULE的實(shí)現(xiàn)
本文主要介紹了django配置DJANGO_SETTINGS_MODULE,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03