機器學習之混淆矩陣的兩種畫法(實戰)

2021-09-29 05:47:14 字數 1322 閱讀 3461

混淆矩陣主要用於表示分類精度,利用橫軸為**結果,縱軸為標準結果的**圖,視覺化地展示演算法的分類效能。import seaborn as sns

sns.set()

c2 = confusion_matrix(y_test, y_predict, labels=[0,1,2])

# # 方法一

# f, ax = plt.subplots()

# print(c2) # 列印出來看看

# sns.heatmap(c2, annot=true, ax=ax) # 畫熱力圖

## ax.set_title('混淆矩陣') # 標題

# ax.set_xlabel('predict') # x軸

# ax.set_ylabel('true') # y軸

# plt.show()

方法二:

plt.figure()

classes = [0,1,2]

plt.imshow(c2, interpolation='nearest', cmap=plt.cm.oranges) # 按照畫素顯示出矩陣

plt.title('confusion_matrix')

plt.colorbar()

tick_marks = np.arange(len(classes))

plt.xticks(tick_marks, classes)

plt.yticks(tick_marks, classes)

thresh = c2.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(len(classes))] for i in range(len(classes))], (c2.size, 2))

for i, j in iters:

plt.text(j, i, format(c2[i, j])) # 顯示對應的數字

可以看出,因為資料量的嚴重不均衡,但是,模型的識別能力還是蠻不錯的;

機器學習之混淆矩陣

再分類任務下,結果和真實情況之間存在四種不同的組合,這四種組合構成了混淆矩陣。舉個例子,看下圖。當真實情況是貓,結果也是貓的時候,這個時候定義為真正例 當真實情況是貓,而 結果不是貓的時候定義為偽反例子 當真實情況不是貓,而 結果是貓時定義為偽正例 當真實情況不是貓 結果也不是貓時定義為真反例。這個...

男神鵬 機器學習之混淆矩陣的理解

什麼是混淆矩陣 混淆矩陣是機器學習中總結分類模型 結果的情形分析表,以矩陣形式將資料集中的記錄按照真實的類別與分類模型作出的分類判斷兩個標準進行彙總。這個名字 於它可以非常容易的表明多個類別是否有混淆 也就是乙個class被 成另乙個class 如圖 混淆矩陣是監督學習中的一種視覺化工具,主要用於比...

三角形的兩種畫法

在我的工程裡都嚴格驗證可行的,把關鍵性的演算法摳出來就行.1 利用三角形內部一點到三角形三個頂點的連線組成的三個小三角形面積總和等於此三角形的面積。static float get area point t0,point t1,point t2 bool guiapi polygon ex 2 hd...