Cây quyết định
Nhiệm vụ của bạn trong bài tập này là xây dựng một cây quyết định đơn giản bằng DecisionTreeClassifier của scikit-learn trên bộ dữ liệu breast cancer đi kèm sẵn với scikit-learn.
Bộ dữ liệu này chứa các phép đo số của nhiều đặc trưng kích thước khác nhau của khối u riêng lẻ (như chu vi và kết cấu) từ sinh thiết vú và một giá trị kết quả duy nhất (khối u là ác tính hoặc lành tính).
Chúng tôi đã nạp sẵn bộ dữ liệu mẫu (các phép đo) vào X và các giá trị mục tiêu theo từng khối u vào y. Giờ bạn cần chia toàn bộ dữ liệu thành tập huấn luyện và tập kiểm tra, rồi huấn luyện một DecisionTreeClassifier. Bạn sẽ chỉ định một tham số gọi là max_depth. Nhiều tham số khác cũng có thể được điều chỉnh trong mô hình này, và bạn có thể xem tất cả tại đây.
Bài tập này là một phần của khóa học
Gradient Boosting Cực Mạnh với XGBoost
Hướng dẫn bài tập
- Import:
train_test_splittừsklearn.model_selection.DecisionTreeClassifiertừsklearn.tree.
- Tạo tập huấn luyện và kiểm tra sao cho 20% dữ liệu dành cho kiểm tra. Dùng
random_statelà123. - Khởi tạo một
DecisionTreeClassifiertêndt_clf_4vớimax_depthbằng4. Tham số này chỉ định số lượng điểm chia liên tiếp tối đa trước khi đến một nút lá. - Huấn luyện bộ phân loại trên tập huấn luyện và dự đoán nhãn của tập kiểm tra.
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.
# Import the necessary modules
____
____
# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)
# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____
# Fit the classifier to the training set
____
# Predict the labels of the test set: y_pred_4
y_pred_4 = ____
# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)