Kiểm định K-Fold
Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 37 trên 58.
Chương này giúp bạn tin tưởng vào điểm số của mình. Đến cuối chương, bạn sẽ tinh chỉnh mô hình bằng biểu đồ như sau:
Một lần chia dữ liệu có thể cho kết quả may mắn. Kiểm định chéo K-fold chia các hàng thành các nhóm, ở đây là 5 nhóm, rồi lần lượt kiểm tra trên từng nhóm và huấn luyện trên phần còn lại:
Một lần gọi chạy cả năm lần, ở đây là cho một cây quyết định trên bộ dữ liệu hoa iris:
from sklearn.model_selection import cross_val_score
tree = DecisionTreeClassifier(random_state=0)
scores = cross_val_score(tree, X, y, cv=5)
print(np.round(scores, 3))
print(f"{scores.mean():.3f} {scores.std():.3f}")Kết quả in ra:
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Hãy dùng giá trị trung bình làm điểm số, còn độ lệch chuẩn cho biết điểm số dao động nhiều đến mức nào.
Thử thách
Trung bìnhMột cơ sở sản xuất kombucha dự đoán các mẻ bị hỏng dựa trên 5 lần đo trong phòng thí nghiệm. Mô hình của họ ổn định đến mức nào? Chương trình đọc số fold; phần code có sẵn tạo dữ liệu và mô hình.
- Kiểm định chéo mô hình với số fold đó.
- In độ chính xác của từng fold, sau đó in giá trị trung bình và độ lệch chuẩn, tất cả với 3 chữ số thập phân.
- In số thứ tự của fold yếu nhất, tính từ 1.
Với các mẻ khác và 4:
Fold 1: 0.917
Fold 2: 0.933
Fold 3: 0.883
Fold 4: 0.917
Mean 0.912, std 0.018
Weakest fold: 3Tự làm thử
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
n_folds = int(input())
# Đừng thay đổi các dòng bên dưới: 240 mẻ kombucha, mỗi mẻ có 5 kết quả đo trong phòng thí nghiệm; nhãn 1 nghĩa là đã hỏng
X, y = make_classification(n_samples=240, n_features=5, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.9, random_state=2)
model = LogisticRegression(max_iter=1000)
# Viết code của bạn bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học có giám sát
1Mô hình đầu tiên của bạn
Học từ ví dụTập huấn luyện và tập kiểm traHuấn luyện và dự đoánChấm điểm mô hìnhÔn tập: Bộ sắp xếp hạt giống2Láng giềng gần nhất
Cách k-NN đưa ra quyết địnhChọn kRanh giới quyết địnhChuẩn hóa dữ liệu cho láng giềngÔn tập: láng giềng với dữ liệu rượu vang5Đánh giá bộ phân loại
Ma trận nhầm lẫnĐộ chính xác và độ thu hồiĐiểm F1Các lớp mất cân bằngĐường cong ROCÔn tập: Bài kiểm tra sàng lọc11Dự án: Các loài chim cánh cụt
Làm quen với chim cánh cụtChuẩn bị dữ liệuChọn mô hìnhTinh chỉnh mô hình tốt nhấtĐưa mô hình vào sử dụng3Hồi quy tuyến tính
Dự đoán các con sốNhiều đặc trưngĐo lường sai sốBiểu đồ phần dưÔn tập: Thuê xe đạp6Cây quyết định
Cây đặt câu hỏiĐọc câyĐộ sâu của câyTầm quan trọng của đặc trưngÔn tập: quyết định cho vay9Các mô hình tổ hợp
Rừng ngẫu nhiênVì sao rừng hoạt động hiệu quảTăng cường độ dốcÔn tập: Người kiểm lâm rừng12Thử thách cuối cùng
Tiến triển của bệnh tiểu đườngPhê duyệt tín dụngChữ số viết tayKhách hàng rời bỏTự luyện tập: Trình biên dịch Python online