繪製 混淆矩陣

2021-10-10 10:14:12 字數 2420 閱讀 6183

參考文獻

從而二分類的角度來看,在二分類的模型中,把**情況與實際情況的所有結果進行組合,就會有真正 (true positive)、假正 (false positive)、真負 (true negative) 和假負 (false negative) 四種情形,分別由tp、fp、tn、fn 表示(t代表**正確,f代表**錯誤),這四種情形構成了混淆矩陣。

其實從上圖中就可以,只有出現在對角線上的**結果才是對的,其他的都是錯的。

四種情況相加,就是總的樣本數。

對於不同的場景,我們對模型的要求也不同

#confusion_matrix

import numpy as np

import matplotlib.pyplot as plt

# classes = ['a','b','c','d','e']

# confusion_matrix = np.array([(9,1,3,4,0),(2,13,1,3,4),(1,4,10,0,13),(3,1,1,17,0),(0,0,0,1,14)],dtype=np.float64)

# 標籤

classes=

['angry'

,'disgust'

,'scared',,

'sad'

,'surprised'

,'neutral'

]# 標籤的個數

classnamber=

7#表情的數量

# 在標籤中的矩陣

confusion_matrix = np.array([(

0.70,0

,0.07

,0.04

,0.09

,0.01

,0.09),

(0.18

,0.75,0

,0,0.03

,0.02

,0.02),

(0.09,0

,0.51

,0.04

,0.17

,0.09

,0.10),

(0.02,0

,0.01

,0.91

,0.02

,0.01

,0.03),

(0.10,0

,0.11

,0.03

,0.57

,0.01

,0.17),

(0.02,0

,0.07

,0.04,0

,0.84,0

),(0.04,0

,0.03

,0.07

,0.12

,0.02

,0.72)]

,dtype=np.float64)

plt.imshow(confusion_matrix, interpolation=

'nearest'

, cmap=plt.cm.oranges)

#按照畫素顯示出矩陣

plt.title(

'confusion_matrix'

)plt.colorbar(

)tick_marks = np.arange(

len(classes)

)plt.xticks(tick_marks, classes, rotation=-45

)plt.yticks(tick_marks, classes)

thresh = confusion_matrix.

max()/

2.#iters = [[i,j] for i in range(len(classes)) for j in range((classes))]

#ij配對,遍歷矩陣迭代器

iters = np.reshape([[

[i,j]

for j in

range

(classnamber)

]for i in

range

(classnamber)],

(confusion_matrix.size,2)

)for i, j in iters:

plt.text(j, i,

format

(confusion_matrix[i, j]

),va=

'center'

,ha=

'center'

)#顯示對應的數字

機器學習 混淆矩陣及其繪製

混淆矩陣主要用於表示分類精度,利用橫軸為 結果縱軸為標準結果的 圖,視覺化地展示演算法的分類效能。乙個混淆矩陣的例子 其中第一類有10個,第二類有14個,第三類有21個。而實際的 結果是第一類有乙個樣本錯誤 為了第二類 第二類有5個錯認為第一類,2個錯認為第三類 第三類中有兩個被錯認為第一類,6個第...

機器學習 混淆矩陣及其繪製

混淆矩陣主要用於表示分類精度,利用橫軸為 結果縱軸為標準結果的 圖,視覺化地展示演算法的分類效能。乙個混淆矩陣的例子 其中第一類有10個,第二類有14個,第三類有21個。而實際的 結果是第一類有乙個樣本錯誤 為了第二類 第二類有5個錯認為第一類,2個錯認為第三類 第三類中有兩個被錯認為第一類,6個第...

Matplotlib繪製混淆矩陣的實現

對於機器www.cppcns.com學習多分類模型來說,其評價指標除了精度之外,常用的還有混淆矩陣和分類報告,下面來展示一下如何繪製混淆矩陣,這在 中經常會用到。如下 import itertools import matplotlib.pyplot as plt import numpy as n...