Dự đoán với random forest
Để huấn luyện một mô hình Machine Learning nhằm dự đoán danh mục tối ưu, bạn cần tạo các tập train và test để đánh giá hiệu quả. Ta sẽ làm giống các chương trước: lấy các mảng features và targets, rồi tách chúng dựa trên train_size được đặt trước. Thông thường train_size vào khoảng 70–90% dữ liệu.
Sau đó, bạn fit mô hình (trong trường hợp này là random forest) trên dữ liệu huấn luyện, và đánh giá điểm R\(^2\) trên train và test bằng .score() từ mô hình. Ở đây, các siêu tham số đã được thiết lập sẵn, nhưng thường bạn sẽ muốn tìm kiếm bằng ParameterGrid như đã làm ở các chương trước.
Bài tập này là một phần của khóa học
Machine Learning cho Tài chính bằng Python
Hướng dẫn bài tập
- Đặt
train_sizebằng 85% tổng số mẫu của dữ liệu huấn luyện bằng thuộc tính.shapecủafeatures. - Tạo targets cho train và test từ
targetsbằng cách dùng chỉ mục trong Python. - Fit mô hình random forest với
train_featuresvàtrain_targets.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]
# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))