Xác thực chéo

Học có giám sát với scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Động lực cho xác thực chéo

  • Hiệu năng mô hình phụ thuộc vào cách ta chia dữ liệu

  • Không phản ánh khả năng tổng quát hóa lên dữ liệu chưa thấy

  • Giải pháp: Xác thực chéo!

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

tiêu đề bảng: lần chia 1, fold 1, fold 2, fold 3, fold 4 và fold 5

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

lần chia 1 làm tập kiểm tra

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

fold 2–5 dùng để huấn luyện

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

tính chỉ số trên các fold này

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

Fold 2 làm dữ liệu kiểm tra

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

fold 1, 3, 4 và 5 làm dữ liệu huấn luyện

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

tính lại chỉ số

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

lặp lại với fold thứ ba

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

lặp lại với fold thứ tư

Học có giám sát với scikit-learn

Kiến thức cơ bản về xác thực chéo

lặp lại với fold thứ năm

Học có giám sát với scikit-learn

Xác thực chéo và hiệu năng mô hình

  • 5 folds = CV 5-fold

  • 10 folds = CV 10-fold

  • k folds = CV k-fold

  • Nhiều fold hơn = Tốn tính toán hơn

Học có giám sát với scikit-learn

Xác thực chéo trong scikit-learn

from sklearn.model_selection import cross_val_score, KFold

kf = KFold(n_splits=6, shuffle=True, random_state=42)
reg = LinearRegression()
cv_results = cross_val_score(reg, X, y, cv=kf)
Học có giám sát với scikit-learn

Đánh giá hiệu suất xác thực chéo

print(cv_results)
[0.70262578, 0.7659624, 0.75188205, 0.76914482, 0.72551151, 0.73608277]
print(np.mean(cv_results), np.std(cv_results))
0.7418682216666667 0.023330243960652888
print(np.quantile(cv_results, [0.025, 0.975]))
array([0.7054865, 0.76874702])
Học có giám sát với scikit-learn

Ayo berlatih!

Học có giám sát với scikit-learn

Preparing Video For Download...