PyCM多類(lèi)別混淆矩陣分析python庫(kù)功能使用探究
今天給大家分享一個(gè)神奇的 python 庫(kù),PyCM
https://github.com/sepandhaghighi/pycm
PyCM多類(lèi)混淆矩陣庫(kù)
PyCM是 Python Confusion Matrix 的縮寫(xiě),是一個(gè)用 Python 編寫(xiě)的多類(lèi)混淆矩陣庫(kù),專(zhuān)門(mén)用于多類(lèi)別混淆矩陣分析。
它提供了一種簡(jiǎn)單而有效的方式來(lái)評(píng)估分類(lèi)器的性能。通過(guò)分析混淆矩陣,PyCM 能夠提供多種統(tǒng)計(jì)指標(biāo),幫助用戶從不同角度評(píng)價(jià)分類(lèi)模型的表現(xiàn)。這些指標(biāo)包括但不限于準(zhǔn)確率、召回率、F1分?jǐn)?shù)、Kappa 統(tǒng)計(jì)量等,支持二分類(lèi)、多分類(lèi)及多標(biāo)簽分類(lèi)問(wèn)題。
特點(diǎn)
PyCM 具有如下特點(diǎn)。
多類(lèi)支持
PyCM 專(zhuān)門(mén)設(shè)計(jì)用于輕松處理多類(lèi)混淆矩陣。與其他一些主要關(guān)注二元分類(lèi)的軟件包不同,PyCM 使用戶能夠在涉及多個(gè)類(lèi)的場(chǎng)景中評(píng)估模型。
多功能性
PyCM 是一個(gè)多功能庫(kù),除了基本的混淆矩陣計(jì)算之外,還支持廣泛的功能。PyCM 具有可視化、比較、參數(shù)推薦和多標(biāo)簽等功能,為深入模型評(píng)估提供了全面的工具包。
廣泛的指標(biāo)集
PyCM 提供了廣泛的指標(biāo)集來(lái)評(píng)估模型性能。從準(zhǔn)確度、精確度、召回率和 F1 分?jǐn)?shù)等標(biāo)準(zhǔn)指標(biāo)到標(biāo)記性和信息性等高級(jí)指標(biāo),PyCM 提供了模型優(yōu)缺點(diǎn)的整體視圖。這些豐富的指標(biāo)增強(qiáng)了分析的粒度,使用戶能夠就模型改進(jìn)做出明智的決策。
庫(kù)的安裝
可以直接通過(guò) pip 來(lái)進(jìn)行安裝。
pip install pycm
混淆矩陣
PyCM 的 ConfusionMatrix 用法涉及通過(guò)提供實(shí)際向量和預(yù)測(cè)向量、直接混淆矩陣或從文件加載信息來(lái)創(chuàng)建對(duì)象。實(shí)例化后,你可以訪問(wèn)大量統(tǒng)計(jì)指標(biāo)和可視化。
下面我們來(lái)看一個(gè)簡(jiǎn)單的案例,通過(guò)提供實(shí)際向量和預(yù)測(cè)向量來(lái)實(shí)例化 ConfusionMatrix 對(duì)象。
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 方法來(lái)可視化混淆矩陣。可視化為模型評(píng)估和報(bào)告結(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軸代表真陽(yáng)性率,X軸代表假陽(yáng)性率。因此,理想的點(diǎn)位于曲線的左上方,曲線下方的面積越大,代表性能越好。ROC 曲線是二元分類(lèi)器性能的圖形表示。
在 PyCM 中,ROCCurve 基于 “One vs. Rest” 策略對(duì)輸出進(jìn)行二值化,為多類(lèi)分類(lèi)器提供 ROC 擴(kuò)展。獲取實(shí)際標(biāo)簽向量、正類(lèi)的目標(biāo)概率估計(jì)以及類(lèi)的有序標(biāo)簽列表,該方法能夠計(jì)算并繪制不同判別閾值的 TPR-FPR 對(duì),并計(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多類(lèi)別混淆矩陣分析python庫(kù)功能使用探究的詳細(xì)內(nèi)容,更多關(guān)于python PyCM多類(lèi)別混淆矩陣的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python graphlib庫(kù)輕松創(chuàng)建操作分析圖形對(duì)象
- Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例
- python interpret庫(kù)訓(xùn)練模型助力機(jī)器學(xué)習(xí)
- python GoogleIt庫(kù)實(shí)現(xiàn)在Google搜索引擎上快速搜索
- python Pygal庫(kù)生成SVG(可縮放矢量圖形)圖表示例
- python HTTPX庫(kù)實(shí)現(xiàn)同步異步請(qǐng)求用法示例
- Python執(zhí)行遺傳編程gplearn庫(kù)使用實(shí)例探究
相關(guān)文章
Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類(lèi)型的代碼詳解
問(wèn)起面向?qū)ο蟮娜筇匦裕瑤缀趺總€(gè)人都能對(duì)答如流:封裝、繼承、多態(tài)。今天我們就要來(lái)說(shuō)一說(shuō)Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類(lèi)型,感興趣的朋友跟隨小編一起看看吧2019-05-05教你用python編寫(xiě)腳本實(shí)現(xiàn)自動(dòng)簽到
這篇文章主要介紹了教你怎樣用python編寫(xiě)腳本實(shí)現(xiàn)自動(dòng)簽到,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下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,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Python爬蟲(chóng)XPath解析出亂碼的問(wèn)題及解決
這篇文章主要介紹了Python爬蟲(chóng)XPath解析出亂碼的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05