Apakah max_depth dalam scikit setara dengan pemangkasan di pohon keputusan?

10

Saya menganalisis classifier yang dibuat menggunakan pohon keputusan. Ada parameter tuning yang disebut max_depth di pohon keputusan scikit. Apakah ini setara dengan pemangkasan pohon keputusan? Jika tidak, bagaimana saya bisa memangkas pohon keputusan menggunakan 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)
Suhail Gupta
sumber
Saya telah berhasil menerapkan pemangkasan kompleksitas Biaya pada model Sklearn, dan inilah tautannya: github.com/appleyuchi/Decision_Tree_Prune Anda mungkin menyukainya.
appleyuchi
Meskipun tautan ini dapat menjawab pertanyaan, lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini dan memberikan tautan untuk referensi. Jawaban hanya tautan dapat menjadi tidak valid jika halaman tertaut berubah. - Dari Ulasan
oW_

Jawaban:

9

Apakah ini setara dengan pemangkasan pohon keputusan?

Meskipun mereka memiliki tujuan yang sama (yaitu menempatkan beberapa batasan pada model sehingga tidak tumbuh sangat kompleks dan pakaian), max_depth tidak setara dengan pemangkasan. Cara pemangkasan biasanya bekerja adalah dengan kembali melalui pohon dan mengganti cabang yang tidak membantu dengan simpul daun.

Jika tidak, bagaimana saya bisa memangkas pohon keputusan menggunakan scikit?

Anda tidak dapat melalui scikit-learn (tanpa mengubah kode sumber).
Kutipan diambil dari dokumentasi Pohon Keputusan : Mekanisme seperti pemangkasan (saat ini tidak didukung)

Jika Anda ingin memangkas pohon Anda harus melakukannya sendiri:
Anda dapat membaca posting yang luar biasa ini yang merinci cara melakukannya.

Djib2011
sumber