Trực quan hóa kết quả phân loại Python
Ngày đăng:
26/12/2022
Trả lời:
0
Lượt xem:
68
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 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 |