2013-05-06 8 views
11

私は、DecisionTreeClassifierがcriterion = 'entropy'を受け入れることを知っています。つまり、情報ツリーを分割するための基準として情報ゲインを使用する必要があります。 私が必要とするのは、ルートノードを分割しようとしているルートレベルで、各機能の情報を取得することです。scikit-learn DecisionTreeClassifierから情報を得る方法?

答えて

7

スプリットノードとして使用されている機能の情報ゲイン(またはジーニー不純物)にのみアクセスできます。属性DecisionTreeClassifier.tree_.best_error[i]は、フィーチャDecisionTreeClassifier.tree_.feature[i]を分割しているi番目のノードのエントロピーを保持します。 i番目のノードに到達するすべての例のエントロピーを求めたい場合は、DecisionTreeClassifier.tree_.init_error[i]を見てください。こちらのマニュアルを参照してください詳細については

https://github.com/scikit-learn/scikit-learn/blob/dacfd8bd5d943cb899ed8cd423aaf11b4f27c186/sklearn/tree/_tree.pyx#L64

あなたは(特定の分割ノードで)各機能のエントロピーをアクセスする場合 - あなたは、私はしなかった機能find_best_splithttps://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L713

+0

に変更する必要がありますギトッブの文書があることを理解してください。ありがとう。 –

関連する問題