分類問題を木構造で理解しよう
決定木は、フローチャートのような木構造でデータを分類します
どの質問が最も効果的かを測る指標
最大深さで木の複雑さを制御
キャンバスをクリックして、2つのクラスのデータポイントを追加します。
💡 ヒント: 決定木は直線的な境界を作ります(階段状の分割)
分割基準(ジニ不純度または情報利得)を使って決定木を構築します。
💡 どうやって分割を決める?
ジニ不純度(または情報利得)が最も改善する分割を選びます。 これは「どの質問が最もデータを綺麗に分けられるか」を表す指標です。 不純度が減少するほど、良い分割です。
最大深さの調整:
学習した決定木で新しいデータポイントがどちらのクラスに分類されるか予測します。
予測の流れ:
💡 ヒント: 右側の木構造を見ると、どのように判定されたかが分かります
ジニ不純度(最もよく使われる指標):
データの混ざり具合を測る指標です。scikit-learnではデフォルトで使われます。
\[ Gini = 1 - \sum p_i^2 \]
💡 ジニ不純度の利点: 計算が簡単で高速です。平方の計算だけで済むため、大規模なデータでも効率的に分割基準を決定できます。
エントロピーと情報利得(もう一つの方法):
情報理論に基づく指標です。エントロピーでデータの混ざり具合を測ります。
\[ H = -\sum p_i \log_2(p_i) \]
情報利得(どれだけ整理されるか):
分割前のエントロピーから、分割後のエントロピーを引いた値
\[ IG = H(親) - \sum \frac{|子_i|}{|親|} H(子_i) \]
💡 どちらを使う? 実用上、ジニ不純度とエントロピーの結果はほぼ同じです。 ジニ不純度の方が計算が速いため、scikit-learnなど多くのライブラリでデフォルトになっています。 エントロピーは情報理論的に明確な意味がありますが、対数計算が必要で少し遅くなります。
💡 どちらの指標も、減少が大きいほど良い分割を意味します
データを追加してください
決定木を構築してください
決定木を構築してください