5. 可視化#
Scikit-learn 定義了一個簡單的 API,用於建立機器學習的可視化。此 API 的關鍵功能是允許快速繪圖和視覺調整,而無需重新計算。我們提供 Display
類別,其中公開了兩種建立繪圖的方法:from_estimator
和 from_predictions
。from_estimator
方法會取得一個已擬合的估計器和一些資料(X
和 y
),並建立一個 Display
物件。有時,我們希望只計算一次預測,此時應該改用 from_predictions
。在以下範例中,我們為已擬合的支援向量機繪製 ROC 曲線
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import RocCurveDisplay
from sklearn.datasets import load_wine
X, y = load_wine(return_X_y=True)
y = y == 2 # make binary
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
svc = SVC(random_state=42)
svc.fit(X_train, y_train)
svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test)

傳回的 svc_disp
物件允許我們在未來的繪圖中繼續使用已經計算的 SVC ROC 曲線。在此情況下,svc_disp
是一個 RocCurveDisplay
,它將計算的值儲存為名為 roc_auc
、fpr
和 tpr
的屬性。請注意,我們可以從支援向量機取得預測,然後使用 from_predictions
而不是 from_estimator
。接下來,我們訓練一個隨機森林分類器,並使用 Display
物件的 plot
方法再次繪製先前計算的 ROC 曲線。
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier(n_estimators=10, random_state=42)
rfc.fit(X_train, y_train)
ax = plt.gca()
rfc_disp = RocCurveDisplay.from_estimator(rfc, X_test, y_test, ax=ax, alpha=0.8)
svc_disp.plot(ax=ax, alpha=0.8)

請注意,我們將 alpha=0.8
傳遞給繪圖函數,以調整曲線的 alpha 值。
範例
5.1. 可用的繪圖工具#
5.1.1. 顯示物件#
|
校準曲線(也稱為可靠性圖)可視化。 |
|
部分依賴圖 (PDP)。 |
|
決策邊界可視化。 |
|
混淆矩陣可視化。 |
|
DET 曲線可視化。 |
|
精確率-召回率可視化。 |
|
迴歸模型的預測誤差可視化。 |
|
ROC 曲線可視化。 |
學習曲線可視化。 |
|
驗證曲線可視化。 |