すべてのサンプルに均等に重み付けされたデシジョンツリーを構築しました。異なるサンプルに異なる重みを与える決定木を構築する。私が必要とするのは、情報利得を計算する前に期待エントロピーを見つけることだけです。私は進んでいく方法がちょっと混乱しています....デシジョンツリー内のサンプルの重み付け
例: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))
になります。また、最大情報利得を持つ分割が選択されます。
各サンプルで使用可能なウェイトがある場合は、これと同じ手順を実行します。変更を加える必要はありますか?どんな変更を特別に行う必要があるのですか(スタンプだけを使用する)?
これは簡単です。エントロピーを計算するために必要なのは、葉のイベントの一部であるp_iだけです。 p_1 =クラス1イベントの重みの合計/すべてのイベントの重みの合計(すべての重みが等しい場合、単純な予測確率と一致する場合に注意してください)。 – Alleo
@Alleoこれは、発生するサンプルのprobのような重みの種類の作業を意味しますか?したがって、最初にm個の例があれば、各サンプルの重みは1/mとなるので、ノードエントロピーはlog(p/m)+((mp)/ m)log((mp)/ m) pはノード内の陽性サンプルの数である。あなたは完全な方法を説明するために精巧に説明することができますか? –
@ Alleoしたがって、現在のノードエントロピーを計算するか、または予想されるエントロピーだけを計算するには、重み付けが行われます。 –