scikitのmax_depthは、決定木の枝刈りと同等ですか?


10

決定木を使って作成した分類器を分析していました。scikitのディシジョンツリーには、max_depthというチューニングパラメータがあります。これは決定木の枝刈りに相当しますか?そうでない場合、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)

私は、Sklearnのモデルにコストの複雑なプルーニングを実装することに成功しました。リンクは、github.com / appleyuchi / Decision_Tree_Pruneです。
appleyuchi 2018

このリンクで質問に答えることができますが、回答の重要な部分をここに含め、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。- レビューから
oW_

回答:


9

これは決定木の枝刈りに相当しますか?

それらには同様の目標があります(つまり、モデルが非常に複雑になりすぎて過度に成長しないように、モデルにいくつかの制限を課す)が、剪定と同等でmax_depth はありません。通常、プルーニングは、ツリーをさかのぼってリーフノードに役に立たないブランチを置き換える方法で機能します。

そうでない場合、scikitを使用してディシジョンツリーをプルーニングするにはどうすればよいですか?

(ソースコードを変更せずに)scikit-learnを実行することはできません。ディシジョンツリーのドキュメント
からの引用:剪定などのメカニズム(現在はサポートされていません)

木を剪定する場合は、自分で行う必要があります。方法については、
この優れた記事で詳しく説明されています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.