Mình có đang underfitting không?
Bạn đang tạo một mô hình random forest để dự đoán liệu bạn có thắng một ván Tic-Tac-Toe trong tương lai hay không. Với bộ dữ liệu tic_tac_toe, bạn đã tạo ra các tập huấn luyện và kiểm tra: X_train, X_test, y_train, và y_test.
Bạn quyết định tạo một loạt mô hình random forest với số lượng cây khác nhau (1, 2, 3, 4, 5, 10, 20 và 50). Số cây càng nhiều thì mô hình random forest sẽ chạy càng lâu. Tuy nhiên, nếu số cây quá ít, bạn có nguy cơ bị underfitting. Bạn đã tạo một vòng lặp for để kiểm tra mô hình với các số lượng cây khác nhau.
Bài tập này là một phần của khóa học
Xác thực Mô hình trong Python
Hướng dẫn bài tập
- Trong mỗi vòng lặp, dự đoán giá trị cho cả hai tập
X_trainvàX_test. - Trong mỗi vòng lặp, thêm
accuracy_score()của tậpy_trainvà các dự đoán tương ứng vàotrain_scores. - Trong mỗi vòng lặp, thêm
accuracy_score()của tậpy_testvà các dự đoán tương ứng vàotest_scores. - In điểm số huấn luyện và kiểm tra bằng các câu lệnh print.
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.
from sklearn.metrics import accuracy_score
test_scores, train_scores = [], []
for i in [1, 2, 3, 4, 5, 10, 20, 50]:
rfc = RandomForestClassifier(n_estimators=i, random_state=1111)
rfc.fit(X_train, y_train)
# Create predictions for the X_train and X_test datasets.
train_predictions = rfc.predict(____)
test_predictions = rfc.predict(____)
# Append the accuracy score for the test and train predictions.
train_scores.append(round(____(____, ____), 2))
test_scores.append(round(____(____, ____), 2))
# Print the train and test scores.
print("The training scores were: {}".format(____))
print("The testing scores were: {}".format(____))