參考文獻
從而二分類的角度來看,在二分類的模型中,把**情況與實際情況的所有結果進行組合,就會有真正 (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...