欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyCM多類(lèi)別混淆矩陣分析python庫(kù)功能使用探究

 更新時(shí)間:2024年01月25日 10:47:39   作者:小寒聊python  
這篇文章主要為大家介紹了python編寫(xiě)的PyCM多類(lèi)混淆矩陣庫(kù),用于多類(lèi)別混淆矩陣分析,幫助用戶從不同角度評(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)題

今天給大家分享一個(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)文章!

相關(guān)文章

最新評(píng)論