ターゲットクラス変数をまったく使用しなかっただけです。他のすべての不純物関数としてのジニ不純物は、分割後の出力の不純物を測定します。サンプルサイズのみを使用して何かを測定します。
私はあなたのケースの公式を導き出そうとします。
簡単にするために、バイナリ分類器があるとします。表すとテスト属性、有するクラス属性値。C c +、c −ACc+,c−
分割前の初期giniインデックスは、
で与えられます
は、クラスの値を持つデータポイントの割合です。変数。 P (A +)c +
I(A)=1−P(A+)2−P(A−)2
P(A+)c+
これで、左ノードの不純物は
ここで、は、クラス変数などに値を持つ左のサブセットからのデータポイントの割合です。 I (A r )= 1 − P (A r + )2 − P (A r − )2 P (A l +)A c +
I(Al)=1−P(Al+)2−P(Al−)2
I(Ar)=1−P(Ar+)2−P(Ar−)2
P(Al+)Ac+
これで、GiniGainの最終式は
GiniGain(A)=I(A)−pleftI(Al)−prightI(Ar)
ここで、は左のサブセットのインスタンスの割合、または(左のサブセットにあるインスタンスの数をからのインスタンスの総数で割ったもの。
pleft#|Al|#|Al|+#|Ar|A
表記が改善される可能性があると思うので、後で時間があるときに見ます。
結論
データポイントの数だけでは不十分です。不純というのは、ある機能(テスト機能)が別の機能(クラス機能)の分布をどれだけうまく再現できるかを意味します。特徴分布のテストでは、使用した数(左から右、右から右)が生成されますが、式ではクラスフィーチャーの分布は使用されません。
後で編集-減少する理由を証明する
子ノードのジニインデックスが親ノードよりも常に小さい理由を証明する部分を見逃していることに気付きました。私は完全な証明や検証済みのものは持っていませんが、有効な証拠だと考えています。トピックに関連する他の興味深い事柄については、テクニカルノート:Spliting Criteria-Leo Breimanの一部のプロパティを確認してください。今、それは私の証明に従います。
我々はバイナリの場合には、ノードのすべての値は、完全に対によって記述することができると仮定するの意味を持つ第1のクラスのインスタンス、及び第二クラスのインスタンス。インスタンスがある親ノードでそれを述べることができます。(a,b)ab(a,b)
最適な分割を見つけるために、テスト機能に従ってインスタンスをソートし、可能なすべてのバイナリ分割を試みます。特定の機能によってソートされるのは、実際にはインスタンスの順列であり、クラスは最初のクラスまたは2番目のクラスのインスタンスで始まります。一般性を失うことなく、最初のクラスのインスタンスから始まると仮定します(そうでない場合は、同じ計算でミラープルーフがあります)。
試行する最初の分割は、左側と右側インスタンスです。左および右の子ノードの候補のジニインデックスは、親ノードとどのように比較されますか?明らかに左にます。そのため、左側にあるginiインデックスの値は小さくなっています。適切なノードはどうですか?(1,0)(a−1,b)h(left)=1−(1/1)2−(0/1)2=0
h(parent)=1−(aa+b)2−(ba+b)2
h(right)=1−(a−1(a−1)+b)2−(b(a−1)+b)2
が以上であることを考慮と(そうでなければ、左ノードで最初のクラスのインスタンスを分離することができますか?)、簡略化した後、右ノードのジニインデックスの値が親ノード。a0
証明の最後の段階は、データによって決定されるすべての可能な分割ポイントを考慮しながら、最小の集約ジニインデックスを持つものを保持することです。つまり、選択する最適値は私が証明した些細なものは小さい。これにより、最終的にginiインデックスが減少すると結論付けられます。
最終的な結論として、さまざまな分割が親ノードよりも大きな値を与える場合でも、選択するのはそれらの中で最小であり、親giniインデックス値よりも小さいことに注意する必要があります。
それが役に立てば幸い。