私は機械学習の初心者で、決定木を試しています。このデシジョン ツリーの視覚化http://scikit-learn.org/dev/_images/iris.svgを見て、エラー値が何を意味するのか疑問に思っています。それはジニ指数ですか、情報利得ですか、それとも何ですか?. また、それが直感的に意味することも理解してください。
1 に答える
この具体的な例では、ノードの「エラー」は、そのノードに到達したすべての例の Gini インデックスです。
一般に、ノードの「誤差」は、具体的な不純物の基準に依存します (たとえば、分類ではジニまたはエントロピー、回帰では平均二乗誤差)。
直感的に、不純性基準 (ジニとエントロピー) の両方を、マルチ セットがどれだけ均一であるかの尺度と考えることができます。マルチ セットは、ほとんどが 1 つのタイプの要素を含む場合に同種です (これは「純粋」とも呼ばれるため、「不純物基準」と呼ばれます)。この場合、マルチ セットの要素は、対応するノードに到達するクラス ラベルです。ノードを分割するとき、結果のパーティションが純粋であることが必要です。つまり、クラスが適切に分離されていることを意味します (パーティションには、ほとんどが 1 つのクラスのインスタンスが含まれます)。
およびバイナリ分類の場合、criterion="entropy"
1.0 のエラーは、ノード (最も不均一なマルチ セット) に同数の正例と負例があることを意味します。
拡張型 の on オブジェクトを保持する属性を介して、DecisionTreeClassifier
またはの根底にあるツリー データ構造にアクセスできます。このオブジェクトは、ツリーを一連の並列 numpy 配列として表します。配列は各ノードの初期エラーを保持します。ノードが分割ノードである場合、2 つのパーティションのエラーの合計を保持します。詳細については、 https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/tree/_tree.pyx#L45のクラス ドキュメントを参照してください。DecisionTreeRegressor
tree_
sklearn.tree._tree.Tree
init_error
best_error