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

Python實(shí)現(xiàn)兩種多分類混淆矩陣

 更新時間:2022年06月07日 11:14:41   作者:胖大海pyh  
這篇文章主要為大家介紹了Python實(shí)現(xiàn)兩種多分類混淆矩陣,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1、什么是混淆矩陣

深度學(xué)習(xí)中,混淆矩陣是ROC曲線繪制的基礎(chǔ),同時它也是衡量分類型模型準(zhǔn)確度中最基本,最直觀,計算最簡單的方法。它可以直觀地了解分類模型在每一類樣本里面表現(xiàn),常作為模型評估的一部分。它可以非常容易的表明多個類別是否有混淆(也就是一個class被預(yù)測成另一個class)。

首先要明確幾個概念: 

T或者F:該樣本 是否被正確分類。 

P或者N:該樣本 原本是正樣本還是負(fù)樣本。 

  • 真正例(True Positive,TP):預(yù)測正確;模型預(yù)測也是正例,樣本的真實(shí)類別是正例, 
  • 真負(fù)例(True Negative,TN):預(yù)測正確:模型預(yù)測為負(fù)例,樣本的真實(shí)類別是負(fù)例, 
  • 偽正例(False Positive,F(xiàn)P):預(yù)測錯誤:模型預(yù)測為正例,樣本的真實(shí)類別是負(fù)例, 
  • 偽負(fù)例(False Negative,F(xiàn)N):預(yù)測錯誤;模型預(yù)測為負(fù)例,樣本的真實(shí)類別是正例,

將這四個指標(biāo)一起呈現(xiàn)在表格中,就能得到如下這樣一個矩陣,我們稱它為混淆矩陣(Confusion Matrix),這里從其他文章偷了張圖:

在混線矩陣中,以對角線為分界線。以上圖為例子:對角線的位置表示預(yù)測正確,對角線以外的位置表示把樣本錯誤的預(yù)測為其他樣本。

2、分類模型評價指標(biāo)

從混淆矩陣可以直觀地看出各個參數(shù)的數(shù)值大小。查準(zhǔn)率是在模型預(yù)測為正的所有樣本中,模型預(yù)測對的比重,即:“分類器認(rèn)為是正類并且確實(shí)是正類的部分占所有分類器認(rèn)為是正類的比例”。計算公式如下式所示:

F1-Score指標(biāo)綜合了Precision與Recall的產(chǎn)出的結(jié)果。F1-Score的取值范圍從0到1的,1代表模型的輸出最好,0代表模型的輸出結(jié)果最差,計算公式如下式所示:

(4)

除了F1分?jǐn)?shù)之外,F(xiàn)2分?jǐn)?shù)和F0.5分?jǐn)?shù)在統(tǒng)計學(xué)中也得到大量的應(yīng)用。其中,F(xiàn)2分?jǐn)?shù)中,召回率的權(quán)重高于精準(zhǔn)率,而F0.5分?jǐn)?shù)中,精準(zhǔn)率的權(quán)重高于召回率。

3、兩種多分類混淆矩陣

多分類混淆矩陣根據(jù)不同需求可以繪制不同的矩陣: 

1、直接打印出每一個類別的分類準(zhǔn)確率。 

2、打印具體的分類結(jié)果的數(shù)值,方便數(shù)據(jù)的分析和各類指標(biāo)的計算

在介紹具體代碼之前,首先來介紹confusion_matrix()函數(shù),它是Python中的sklearn庫提供的輸出矩陣數(shù)據(jù)的方法:

def confusion_matrix(y_true, y_pred, labels=None, sample_weight=None):

參數(shù)意義:

  • y_true: 是樣本真實(shí)分類結(jié)果,y_pred: 是樣本預(yù)測分類結(jié)果
  • y_pred:預(yù)測結(jié)果
  • labels:是所給出的類別,通過這個可對類別進(jìn)行選擇
  • sample_weight : 樣本權(quán)重

3.1直接打印出每一個類別的分類準(zhǔn)確率。

# 顯示混淆矩陣
def plot_confuse(model, x_val, y_val):
   # 獲得預(yù)測結(jié)果
    predictions = predict(model,x_val)
    #獲得真實(shí)標(biāo)簽
    truelabel = y_val.argmax(axis=-1)   # 將one-hot轉(zhuǎn)化為label
    cm = confusion_matrix(y_true=truelabel, y_pred=predictions)
    plt.figure()
    # 指定分類類別
    classes = range(np.max(truelabel)+1)
    title='Confusion matrix'
   #混淆矩陣顏色風(fēng)格
    cmap=plt.cm.jet
    cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title)
    plt.colorbar()
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, rotation=45)
    plt.yticks(tick_marks, classes)
    thresh = cm.max() / 2.
   # 按照行和列填寫百分比數(shù)據(jù)
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, '{:.2f}'.format(cm[i, j]), horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")
    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    plt.show()

3.2打印具體的分類結(jié)果的數(shù)值

# 顯示混淆矩陣
def plot_confuse_data(model, x_val, y_val):
    classes = range(0,6)
    predictions = predict(model,x_val)
    truelabel = y_val.argmax(axis=-1)   # 將one-hot轉(zhuǎn)化為label
    confusion = confusion_matrix(y_true=truelabel, y_pred=predictions)
    #顏色風(fēng)格為綠。。。。
    plt.imshow(confusion, cmap=plt.cm.Greens)
# ticks 坐標(biāo)軸的坐標(biāo)點(diǎn)
# label 坐標(biāo)軸標(biāo)簽說明
    indices = range(len(confusion))
# 第一個是迭代對象,表示坐標(biāo)的顯示順序,第二個參數(shù)是坐標(biāo)軸顯示列表
    plt.xticks(indices, classes)
    plt.yticks(indices, classes)
    plt.colorbar()
    plt.xlabel('Predicted label')
    plt.ylabel('True label')
    plt.title('Confusion matrix')

# plt.rcParams兩行是用于解決標(biāo)簽不能顯示漢字的問題
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus'] = False

# 顯示數(shù)據(jù)
    for first_index in range(len(confusion)):    #第幾行
        for second_index in range(len(confusion[first_index])):    #第幾列
            plt.text(first_index, second_index, confusion[first_index][second_index])
# 顯示
    plt.show()

4、總結(jié)

1、混淆矩陣是深度學(xué)習(xí)中分類模型最常用的評估指標(biāo)。網(wǎng)上大部分都是顯示各類的分類正確率,不夠靈活。顯示具體數(shù)值靈活性大,可以計算自己想要的指標(biāo)。

2、多分類的混淆矩陣中 查準(zhǔn)率為主對角線上的值除以該值所在列的和;召回率等于主對角線上的值除以該值所在行的和。

以上就是Python實(shí)現(xiàn)兩種多分類混淆矩陣的詳細(xì)內(nèi)容,更多關(guān)于Python多分類混淆矩陣的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python生成圓形圖片的方法

    python生成圓形圖片的方法

    這篇文章主要為大家詳細(xì)介紹了python生成圓形圖片的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python讀取中文txt文本的方法

    python讀取中文txt文本的方法

    下面小編就為大家分享一篇python讀取中文txt文本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python清除字符串中間空格的實(shí)例講解

    python清除字符串中間空格的實(shí)例講解

    今天小編就為大家分享一篇python清除字符串中間空格的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 深度學(xué)習(xí)中shape[0]、shape[1]、shape[2]的區(qū)別詳解

    深度學(xué)習(xí)中shape[0]、shape[1]、shape[2]的區(qū)別詳解

    本文主要介紹了深度學(xué)習(xí)中shape[0]、shape[1]、shape[2]的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • python2 對excel表格操作完整示例

    python2 對excel表格操作完整示例

    這篇文章主要介紹了python2 對excel表格操作,結(jié)合完整實(shí)例形式分析了Python2 操作Excel表格的讀取、寫入相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)

    Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)

    本文主要介紹了Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 使用pandas忽略行列索引,縱向拼接多個dataframe

    使用pandas忽略行列索引,縱向拼接多個dataframe

    這篇文章主要介紹了使用pandas忽略行列索引,縱向拼接多個dataframe的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python中循環(huán)依賴問題及其解決方案

    Python中循環(huán)依賴問題及其解決方案

    在軟件開發(fā)中,循環(huán)依賴是一個常見的問題,尤其是在使用 Python 這樣的動態(tài)語言時,循環(huán)依賴指的是兩個或多個模塊或組件相互依賴,形成一個閉環(huán),本文將探討 Python 中循環(huán)依賴的問題,并提供一些解決方案,需要的朋友可以參考下
    2024-06-06
  • Python實(shí)現(xiàn)PowerPoint演示文稿到圖片的批量轉(zhuǎn)換

    Python實(shí)現(xiàn)PowerPoint演示文稿到圖片的批量轉(zhuǎn)換

    PowerPoint演示文稿作為展示創(chuàng)意、分享知識和表達(dá)觀點(diǎn)的重要工具,被廣泛應(yīng)用于教育、商務(wù)匯報及個人項(xiàng)目展示等領(lǐng)域,用Python代碼可以高效地實(shí)現(xiàn)PowerPoint演示文稿到圖片的批量轉(zhuǎn)換,從而提升工作效率,文本將介紹如何使用Python實(shí)現(xiàn)PowerPoint演示文稿到圖片的轉(zhuǎn)換
    2024-06-06

最新評論

武陟县| 鲜城| 建阳市| 安远县| 南陵县| 四川省| 铜山县| 河源市| 喀喇| 丽江市| 分宜县| 平泉县| 景泰县| 炉霍县| 洪洞县| 芦溪县| 六枝特区| 临桂县| 剑阁县| 沿河| 雅江县| 长兴县| 铅山县| 铁力市| 莲花县| 舒城县| 晋城| 昂仁县| 黄石市| 上蔡县| 凤翔县| 城市| 开江县| 若尔盖县| 永胜县| 九寨沟县| 贺兰县| 华阴市| 六盘水市| 洪江市| 乐业县|