Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Import:
    • train_test_split từ sklearn.model_selection.
    • DecisionTreeClassifier từ 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_state123.
  • Khởi tạo một DecisionTreeClassifier tên dt_clf_4 với max_depth bằng 4. 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)
Chỉnh sửa và Chạy Mã