2018年6月12日 星期二

混淆矩陣 cofusion matrics

混淆矩陣

在看別人程式的時候 看到這個東西





最大的目的在觀察預測資料的正確性

資料分為實際值和預測值
列為預測
行為實際值


就是將預測和實際的資料進行可視化
用於判別資料的預測情況

在這裡運用
seaborn 
matplot
來進行資料可視化 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

import seaborn as sns

from sklearn.metrics import confusion_matrix

y_true = [2, 0, 2, 2, 0, 1]
y_pred = [0, 0, 2, 2, 0, 2]

print(confusion_matrix(y_true, y_pred))

#創建多張畫布
fig, ax = plt.subplots()

# hide axes
ax.axis('off')

rowlabel = ["zero(predict)" , "one(predict)" , "two(predict)"]
collabel = ["zero(reality)" , "one(reality)" , "two(reality)"]
df = confusion_matrix(y_true, y_pred)

ax.table(cellText=df, colLabels=collabel , rowLabels = rowlabel, loc='center')

plt.show()

sns.set()

uniform_data = confusion_matrix(y_true, y_pred)
ax = sns.heatmap(uniform_data)

fig = ax.get_figure()
fig.savefig("output.png")




斜線也就是 (0,0) , (1,1) , (2,2)
代表預測和實際資料都正確
第二排的1 代表
預測應該要為 one 實際為 two


沒有留言:

張貼留言