Cân bằng bias-variance

Xác thực Mô hình trong Python

Kasey Jones

Data Scientist

Variance

  • Variance: mô hình bám sát dữ liệu huấn luyện quá mức
    • Kém khái quát hóa sang dữ liệu kiểm tra
    • Lỗi huấn luyện thấp nhưng lỗi kiểm tra cao
    • Xảy ra khi mô hình overfit và quá phức tạp
Xác thực Mô hình trong Python

Mô hình overfitting (variance cao)

Overfitting xảy ra khi dự đoán bám quá sát dữ liệu huấn luyện. Nếu vẽ scatter plot và mọi dự đoán trùng khớp hoàn toàn với giá trị thực, ta có thể đã overfit.

Xác thực Mô hình trong Python

Bias

  • Bias: không tìm đúng quan hệ giữa dữ liệu và biến phản hồi
    • Lỗi huấn luyện/kiểm tra cao
    • Xảy ra khi mô hình underfit
Xác thực Mô hình trong Python

Mô hình underfitting (bias cao)

Underfitting xảy ra khi có quan hệ giữa biến cần dự đoán và biến giải thích trong mô hình, nhưng ta không tìm ra quan hệ đó.

Xác thực Mô hình trong Python

Hiệu suất tối ưu

Xác thực Mô hình trong Python

Tham số gây quá/thiếu khớp

rfc = RandomForestClassifier(n_estimators=100, max_depth=4)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .84
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .77
Xác thực Mô hình trong Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=14)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: 1.0
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .83
Xác thực Mô hình trong Python
rfc = RandomForestClassifier(n_estimators=100, max_depth=10)
rfc.fit(X_train, y_train)

print("Training: {0:.2f}".format(accuracy_score(y_train, train_predictions)))
Training: .89
print("Testing: {0:.2f}".format(accuracy_score(y_test, test_predictions)))
Testing: .86
Xác thực Mô hình trong Python

Hãy nhớ: chỉ bạn mới ngăn được overfitting!

Xác thực Mô hình trong Python

Preparing Video For Download...