機器學習_ML_confusion_matrix(混淆矩陣)
原文連結Compute confusion matrix to evaluate the accuracy of a classification
計算混淆矩陣來評估準確性!
這個矩陣代表著{真真、假假、真假、假真}
透過這四個預估也計算著不同準確評估的數值。
IMPORT
from sklearn.metrics import confusion_matrix
範例
from sklearn.metrics import confusion_matrix
y_true = [1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0 ,1]
y_pred = [0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1 ,1]
confusion_matrix(y_true=y_true, y_pred=y_pred)
結果array([[3, 2],
[3, 5]], dtype=int64)
這樣…似乎有點不能理解這個矩陣到底是什麼意思!!from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
y_true = [1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0 ,1]
y_pred = [0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1 ,1]
confmat = confusion_matrix(y_true=y_true, y_pred=y_pred)
fig, ax = plt.subplots(figsize=(2.5, 2.5))
ax.matshow(confmat, cmap=plt.cm.Blues, alpha=0.3)
for i in range(confmat.shape[0]):
for j in range(confmat.shape[1]):
ax.text(x=j, y=i, s=confmat[i,j], va='center', ha='center')
plt.xlabel('predicted label')
plt.ylabel('true label')
plt.show()
把圖表列印出來,就清楚多了。原文範例有一個多類別的矩陣function,可以參考一下。
原文範例連結
延伸說明
那為什麼說可以利用這個矩陣來評估模型呢?請看下圖(取自維基百科)
上圖說明著,我們常在scikit-learn用的score的模型評估來源!
最常見的accuracy準確率,就是(真真加上真假)/總數
所以,一定要認識一下這個圖。
沒有留言:
張貼留言