Thử các độ sâu tối đa khác nhau
Chúng ta luôn muốn tối ưu các mô hình Machine Learning để dự đoán tốt nhất có thể. Bạn có thể làm điều này bằng cách tinh chỉnh các siêu tham số (hyperparameter), tức các thiết lập của mô hình. Ở các chương sau, bạn sẽ thấy rõ hơn vì sao chúng hữu ích; tạm thời, hãy xem chúng như những núm vặn để điều chỉnh cho dự đoán đạt chất lượng cao nhất.
Với decision tree thông thường, siêu tham số quan trọng nhất có lẽ là max_depth. Nó giới hạn số lần chia (split) trong cây quyết định. Hãy tìm giá trị max_depth tốt nhất dựa trên điểm R\(^2\) của mô hình trên tập kiểm tra, mà chúng ta có thể lấy bằng phương thức score() của các mô hình cây quyết định.
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
- Lặp qua các giá trị 3, 5 và 10 để dùng làm tham số
max_depthcho mô hình cây quyết định. - Ở mỗi vòng lặp, đặt tham số
max_depthcủa DecisionTreeRegressor bằngd. - In điểm số của mô hình trên
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.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')