Scikit-learning định nghĩa một API đơn giản để tạo trực quan hóa cho máy học. Tính năng chính của API này là cho phép vẽ sơ đồ và điều chỉnh trực quan nhanh chóng mà không cần tính toán lại. Chúng tôi cung cấp các lớp Display
hiển thị hai phương thức để tạo các ô. from_estimator
và from_predictions
. Phương pháp from_estimator
sẽ lấy một công cụ ước tính phù hợp và một số dữ liệu [
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]1 và
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]2] và tạo một đối tượng
Display
. Đôi khi, chúng tôi chỉ muốn tính toán các dự đoán một lần và người ta nên sử dụng from_predictions
để thay thế. Trong ví dụ sau, chúng tôi vẽ đồ thị đường cong ROC cho máy vectơ hỗ trợ được trang bị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]
Đối tượng
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]0 được trả về cho phép chúng tôi tiếp tục sử dụng đường cong ROC đã được tính toán cho SVC trong các ô trong tương lai. Trong trường hợp này,
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]0 là một lưu trữ các giá trị được tính toán dưới dạng các thuộc tính có tên là
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]3,
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]4 và
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]5. Xin lưu ý rằng chúng tôi có thể nhận được các dự đoán từ máy vectơ hỗ trợ và sau đó sử dụng
from_predictions
thay vì from_estimator
. Tiếp theo, chúng tôi đào tạo một trình phân loại rừng ngẫu nhiên và vẽ lại đường cong roc đã tính toán trước đó bằng cách sử dụng phương thức 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]8 của đối tượng
Display