Là max_depth trong scikit tương đương với việc cắt tỉa trong cây quyết định?


10

Tôi đã phân tích trình phân loại được tạo bằng cây quyết định. Có một tham số điều chỉnh được gọi là max_depth trong cây quyết định của scikit. Đây có phải là tương đương với việc cắt tỉa một cây quyết định? Nếu không, làm thế nào tôi có thể tỉa cây quyết định bằng scikit?

dt_ap = tree.DecisionTreeClassifier(random_state=1, max_depth=13)
boosted_dt = AdaBoostClassifier(dt_ap, random_state=1)
boosted_dt.fit(X_train, Y_train)

Tôi đã thành công trong việc triển khai tính phức tạp của Chi phí trên mô hình của Sklearn và đây là liên kết: github.com/appleyuchi/Decision_Tree_Prune bạn có thể thích nó.
appleyuchi

Mặc dù liên kết này có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở nên không hợp lệ nếu trang được liên kết thay đổi. - Từ đánh giá
oW_

Câu trả lời:


9

Đây có phải là tương đương với việc cắt tỉa một cây quyết định?

Mặc dù chúng có các mục tiêu tương tự (nghĩa là đặt một số hạn chế cho mô hình để nó không phát triển quá phức tạp và quá phù hợp), nhưng max_depth không tương đương với việc cắt tỉa. Cách cắt tỉa thường hoạt động là quay trở lại qua cây và thay thế các nhánh không giúp đỡ với các nút lá.

Nếu không, làm thế nào tôi có thể tỉa cây quyết định bằng scikit?

Bạn không thể thông qua scikit-learn (mà không thay đổi mã nguồn).
Trích dẫn từ tài liệu Cây quyết định : Các cơ chế như cắt tỉa (hiện không được hỗ trợ)

Nếu bạn muốn cắt tỉa một cái cây, bạn phải tự làm một mình:
Bạn có thể đọc bài viết tuyệt vời này chi tiết cách làm như vậy.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.