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

Matplotlib繪制混淆矩陣的實(shí)現(xiàn)

 更新時間:2021年05月27日 15:06:52   作者:Apple-yeran  
對于機(jī)器學(xué)習(xí)多分類模型來說,其評價指標(biāo)除了精度之外,常用的還有混淆矩陣和分類報告,下面來展示一下如何繪制混淆矩陣,這在論文中經(jīng)常會用到。感興趣的可以了解一下

對于機(jī)器學(xué)習(xí)多分類模型來說,其評價指標(biāo)除了精度之外,常用的還有混淆矩陣和分類報告,下面來展示一下如何繪制混淆矩陣,這在論文中經(jīng)常會用到。

代碼如下:

import itertools
import matplotlib.pyplot as plt
import numpy as np
# 繪制混淆矩陣
def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap=plt.cm.Blues):
    """
    - cm : 計算出的混淆矩陣的值
    - classes : 混淆矩陣中每一行每一列對應(yīng)的列
    - normalize : True:顯示百分比, False:顯示個數(shù)
    """
    if normalize:
        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
        print("顯示百分比:")
        np.set_printoptions(formatter={'float': '{: 0.2f}'.format})
        print(cm)
    else:
        print('顯示具體數(shù)字:')
        print(cm)
    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)
    # matplotlib版本問題,如果不加下面這行代碼,則繪制的混淆矩陣上下只能顯示一半,有的版本的matplotlib不需要下面的代碼,分別試一下即可
    plt.ylim(len(classes) - 0.5, -0.5)
    fmt = '.2f' if normalize else 'd'
    thresh = cm.max() / 2.
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, format(cm[i, j], fmt),
                 horizontalalignment="center",
                 color="white" if cm[i, j] > thresh else "black")
    plt.tight_layout()
    plt.ylabel('True label')
    plt.xlabel('Predicted label')
    plt.show()

測試數(shù)據(jù):

cnf_matrix = np.array([[8707, 64, 731, 164, 45],
                      [1821, 5530, 79, 0, 28],
                      [266, 167, 1982, 4, 2],
                      [691, 0, 107, 1930, 26],
                      [30, 0, 111, 17, 42]])
attack_types = ['Normal', 'DoS', 'Probe', 'R2L', 'U2R']

第一種情況:顯示百分比

plot_confusion_matrix(cnf_matrix, classes=attack_types, normalize=True, title='Normalized confusion matrix')

效果:

在這里插入圖片描述

在這里插入圖片描述

第二種情況:顯示數(shù)字

plot_confusion_matrix(cnf_matrix, classes=attack_types, normalize=False, title='Normalized confusion matrix')

效果:

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Matplotlib繪制混淆矩陣的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Matplotlib 混淆矩陣內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python多線程thread及模塊使用實(shí)例

    Python多線程thread及模塊使用實(shí)例

    這篇文章主要介紹了Python多線程thread及模塊使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python五子棋游戲的設(shè)計與實(shí)現(xiàn)

    python五子棋游戲的設(shè)計與實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了python五子棋游戲的設(shè)計與實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 詳解如何用django實(shí)現(xiàn)redirect的幾種方法總結(jié)

    詳解如何用django實(shí)現(xiàn)redirect的幾種方法總結(jié)

    這篇文章主要介紹了如何用django實(shí)現(xiàn)redirect的幾種方法總結(jié),詳細(xì)的介紹3種實(shí)現(xiàn)方式,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 基于Python socket實(shí)現(xiàn)簡易網(wǎng)絡(luò)聊天室

    基于Python socket實(shí)現(xiàn)簡易網(wǎng)絡(luò)聊天室

    本文主要介紹了基于Python socket實(shí)現(xiàn)簡易網(wǎng)絡(luò)聊天室,本文將通過pyqt5作為桌面應(yīng)用框架,socket作為網(wǎng)絡(luò)編程的框架,從而實(shí)現(xiàn)包括客戶端和服務(wù)端的網(wǎng)絡(luò)聊天室的GUI應(yīng)用,需要的可以參考一下
    2022-07-07
  • Python socket.error: [Errno 98] Address already in use的原因和解決方法

    Python socket.error: [Errno 98] Address already in use的原因和解決

    這篇文章主要介紹了Python socket.error: [Errno 98] Address already in use的原因和解決方法,在Python的socket編程中可能會經(jīng)常遇到這個問題,需要的朋友可以參考下
    2014-08-08
  • Django 再談一談json序列化

    Django 再談一談json序列化

    這篇文章主要介紹了Django json序列化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python制作最美應(yīng)用的爬蟲

    python制作最美應(yīng)用的爬蟲

    這篇文章主要介紹了python制作最美應(yīng)用的爬蟲的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • Python 存取npy格式數(shù)據(jù)實(shí)例

    Python 存取npy格式數(shù)據(jù)實(shí)例

    這篇文章主要介紹了Python 存取npy格式數(shù)據(jù)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 利用Pandas和Numpy按時間戳將數(shù)據(jù)以Groupby方式分組

    利用Pandas和Numpy按時間戳將數(shù)據(jù)以Groupby方式分組

    這篇文章主要介紹了利用Pandas和Numpy按時間戳將數(shù)據(jù)以Groupby方式分組,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)方便使用的級聯(lián)進(jìn)度信息實(shí)例

    Python實(shí)現(xiàn)方便使用的級聯(lián)進(jìn)度信息實(shí)例

    這篇文章主要介紹了Python實(shí)現(xiàn)方便使用的級聯(lián)進(jìn)度信息,實(shí)例分析了Python顯示級聯(lián)進(jìn)度信息的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-05-05

最新評論