「決定木その2」です。昨日は、平均情報量(エントロピー)で数値化することで、最短で判断する決定木の話をしました。この数値化に「ジニ係数」を用いる場合について説明します。この「ジニ係数」は「不純度」と考えてください。不純度を0にすると、完全に分離されたことになります。資料ご覧ください。
資料はこちら → 決定木(ジニ係数)
p.1 ジニ係数の定義を数式化すると、1からある状態の比率の二乗を差し引いた値となります。昨日同様に、表にしてみました。分離良好の場合は、YesあるいはNoに4個ずつありますので、1から(4/4)2と(0/4)2を引いて0となります。分母の4は全ての数、分子はYesあるいはNoの数です。 右端の分離が不十分の場合はYesが2個、Noが2個ですので、1から(2/4)2と(2/4)2を引いて0.5となります。まあまあ分離は0.375と計算されます。ジニ係数が0に近いほど分離が良いことがわかります。昨日の平均情報量も0が良かったですね。 どちらの数値を使っても結果は同じになります。
p.2 昨日の決定木をジニ係数で比較してみました。この場合もゲイン(利得)が高い方が、分離が良いので、最初に風力について質問することが良いと判断されます。昨日と同様な結果となります。
p.3 決定木を機械学習で用いる場合、数値化する式によりアルゴリズムが異なります。決定木は上が幹(root)で、節点で枝(ブランチ)が分岐していき最下段に葉(リーフ)がつきます。各要素をノードと呼びます。
決定木も複雑にならないように「剪定」という処理をするようです。以下のWebsiteの説明をご覧ください。 実際に木を切るようで、言葉の表現が面白いですね。
決定木の「剪定」に関するWebsiteをご覧ください。→ https://www.randpy.tokyo/entry/decision_tree_theory_pruning