揭秘機器學習中的混淆矩陣 [驚人]

已發表: 2020-12-07

機器學習是一個總稱,它在其中積累數據處理,從數據中獲得有意義的見解,以及數據建模。 完成數據建模後,需要測量模型的性能評估和其他基於行業的參數,最常見的指標之一是混淆矩陣。

目錄

什麼是混淆矩陣以及為什麼使用它?

它是一種用於分類問題的性能指標,其中輸出類可能是兩個或更多,並且該矩陣表示模型的預測值與與該輸入相關聯的實際值的所有組合。 它被稱為“混淆矩陣”,因為按照定義進行定義似乎很容易,但隨著我們向前推導出更有價值的參數,關於哪個參數最適合特定位置的混淆出現了。

它用於分類問題高度不平衡且一個類優於其他類的地方。 在這種情況下,您可能會驚訝地看到模型的準確率達到 99% 的峰值,但實際上,該模型高度偏向於主導類。 你幾乎不可能得到少數族裔的預測。 因此,為了測試這樣一個不平衡的數據集,我們考慮混淆矩陣。

混淆矩陣的結構

矩陣的大小與輸出類的數量成正比。 它是一個方陣,我們假設列標題為實際值,行標題為模型預測。 模型預測為真和預測為真的值為真陽性(TP) ,正確的負值預測為真陰性(TN) ,為陰性但預測為真的值為假陽性(FP) ,預測為陰性的陽性值為假陰性(FN) 看看這張圖片:

閱讀:機器學習中的分類算法類型

我們可以從中學到什麼?

一個有效的問題出現了,我們可以用這個矩陣做什麼。 有一些基於此的重要術語:

  1. 精度:它是模型識別為正確並與問題陳述解決方案相關的值的一部分。 我們也可以將其引用為值,它們是模型給出的總積極結果的一部分並且是積極的。 因此,我們可以給出其公式為 TP/ (TP + FP)。
  2. 回憶:它是模型正確識別為正值的部分。 它也被稱為真陽性率或靈敏度。 其公式為 TP/ (TP+FN)。
  3. F-1 分數: Precision 和 Recall 的調和平均值。 這意味著如果我們要比較兩個模型,那麼這個指標將抑制極值並同時考慮誤報和誤報。 它可以引用為 2*Precision*Recall/ (Precision+Recall)。
  4. 準確性:它是正確識別的值的一部分,無論它們是正面還是負面。 這意味著所有真陽性和真陰性都包含在其中。 這個公式是(TP+TN)/(TP+TN+FP+FN)。

在所有術語中,準確率和召回率使用最廣泛。 他們的權衡是預測成功與否的有用衡量標準。 期望的模型應該具有高精度和高召回率,但這只是在完全可分離的數據中。 在實際用例中,數據高度無組織且不平衡。

如何在 Python 中為混淆矩陣創建代碼?

sklearn 庫提供了多種功能來以最高的準確性執行所有機器學習任務,並且幾乎所有內容都已在此處實現。 考慮已經完成所有導入語句的著名 Iris 數據集,混淆矩陣的代碼將是:

iris = datasets.load_iris()

X = iris.data

y = iris.target

class_names = iris.target_names

X_train, X_test, y_train, y_test = train_test_split (X, y, random_state = 0 )

分類器= svm.SVC (內核= '線性' ,C = 0.01 適合(X_train,y_train)

plot_confusion_matrix(分類器,X_test,y_test,display_labels = class_names,cmap = plt . cm . Blues)

注意:這個返回的矩陣有反面,左邊是實際值,頂部是預測值。 如果您想避免混淆,請執行此函數以獲得詳細的摘要(分類報告),而不是手動計算:

打印(分類報告(y_true=y_test,y_pred=y_pred,target_names=class_names))

另請閱讀:深度學習算法

在哪裡使用哪一個?

這是數據建模時最常見的問題,解決方案在於問題的陳述域。 考慮以下兩種情況:

  1. 假設您正在預測此人是否會心臟驟停。 在這種情況下,您不能承受任何錯誤分類,並且所做的所有預測都應該是準確的。 話雖如此,假陰性的成本很高,所以這個人很容易受到攻擊,但被預測為安全。 應該避免這些情況。 在這些情況下,我們需要一個具有高召回率的模型。
  2. 假設搜索引擎提供的隨機結果都被模型預測為正數,那麼用戶依賴它的可能性很小。 因此,在這種場景下,我們需要一個高精度的模型,這樣才能提高用戶體驗,讓網站朝著正確的方向發展。

結論

混淆矩陣是評估分類模型的好方法。 它提供了關於模型根據提供的輸入對類別進行分類的準確程度以及該類別如何被錯誤分類的實際洞察力。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

引領人工智能驅動的技術革命

機器學習和人工智能的 PG 文憑
了解更多