2016-04-18 20 views
-6

すべてのサンプルに均等に重み付けされたデシジョンツリーを構築しました。異なるサンプルに異なる重みを与える決定木を構築する。私が必要とするのは、情報利得を計算する前に期待エントロピーを見つけることだけです。私は進んでいく方法がちょっと混乱しています....デシジョンツリー内のサンプルの重み付け

例:pの正のノードとnの負のノードを含むノードを考えてみましょう。ノードのエントロピーは-p/(p+n)log(p/(p+n)) -n/(p+n)log(n/(p+n))になります。ここで分割が何らかの形で2つの子ノードの親ノードを分割して見つかった場合です。子1にp 'の正とnのネガティブが含まれている(子2にpp'とn-nが含まれています)親に対して計算され、それに達する確率、すなわち(p'+n')/(p+n)をとる。今やエントロピーの減少はentropy(parent)-(prob of reaching child1*entropy(child1)+prob of reaching child2*entropy(child2))になります。また、最大情報利得を持つ分割が選択されます。

各サンプルで使用可能なウェイトがある場合は、これと同じ手順を実行します。変更を加える必要はありますか?どんな変更を特別に行う必要があるのですか(スタンプだけを使用する)?

+0

これは簡単です。エントロピーを計算するために必要なのは、葉のイベントの一部であるp_iだけです。 p_1 =クラス1イベントの重みの合計/すべてのイベントの重みの合計(すべての重みが等しい場合、単純な予測確率と一致する場合に注意してください)。 – Alleo

+0

@Alleoこれは、発生するサンプルのprobのような重みの種類の作業を意味しますか?したがって、最初にm個の例があれば、各サンプルの重みは1/mとなるので、ノードエントロピーはlog(p/m)+((mp)/ m)log((mp)/ m) pはノード内の陽性サンプルの数である。あなたは完全な方法を説明するために精巧に説明することができますか? –

+0

@ Alleoしたがって、現在のノードエントロピーを計算するか、または予想されるエントロピーだけを計算するには、重み付けが行われます。 –

答えて

1

(私は、これはいくつかのコメントのように同じ考えだと思い、例えば、@Alleo)

あなたはp正例と負例nがあるとします。例では、ユニットの重みを持っている場合、エントロピーは次のようになり、あなたが指摘したように、

a1 + a2 + ... + ap = A 
b1 + b2 + ... + bn = B 

a1, a2, ..., ap ---------- weights of the p positive examples 
b1, b2, ..., bn ---------- weights of the n negative examples 

と仮定します:さんがために例の重みを示すものと

p   p   n   n 
- _____ log (____) - ______log(______) 
    p + n  p + n  p + n  p + n 

を今、あなたは、 pAに置き換え、nBに置き換えて、新しいインスタンス加重エントロピーを得ることができます。

A   A   B   B 
- _____ log (_____) - ______log(______) 
    A + B  A + B  A + B  A + B 

注:ここには何も表示されません。私たちがしたのは、正と負の例のグループの重み付けされた重要性を理解することです。例が等しく重み付けされている場合、正の例の重要性は、すべての例の正の数の比に比例する。例が等しく重み付けされていない場合は、正の例の重要性を得るために加重平均を実行するだけです。

次に同じロジックに従って、分割前のエントロピーと属性の分割後のエントロピーを比較して最大の情報利得を持つ属性を選択します。

+0

どこで文学を入手できますか? –

関連する問題