決定木による分類は、教師あり学習の代表的な手法の一つです。
特徴量に基づく条件分岐を繰り返しながら、データを段階的に分けていき、最終的にクラスを予測します。
モデルの構造が明示的で、人間の意思決定プロセスに近いため、機械学習アルゴリズムの中でも理解しやすい点が大きな特徴です。
決定木分類の基本構造
決定木は、次の3つの要素から構成されます。
- 内部ノード:特徴量に基づく条件(例:ある値以上かどうか)
- 枝:条件の結果による分岐
- 葉ノード:最終的な予測結果
学習の過程では、データが条件によって少しずつ分割され、最終的に「同じクラスが多く集まった領域」が作られます。
分類における「良い分割」の考え方
決定木の学習で最も重要なのは、
どの条件で分けると、データが最もきれいに分かれるか
という点です。
その判断には、ノード内にどれだけ異なるクラスが混ざっているかが使われます。
クラスの混ざり具合が小さいほど、「良い分割」と評価されます。
ジニ不純度による評価
ジニ不純度は、ノード内のデータがどれだけ異なるクラスに分かれているかを表す指標です。
- すべて同じクラスの場合、不純度は最小
- 複数のクラスが均等に混ざるほど、不純度は大きくなる
分類木では、分割後の不純度が最も小さくなる条件が選ばれます。
この指標は計算が軽く、実装上も扱いやすいため、多くの決定木アルゴリズムで標準的に用いられています。
エントロピーと情報利得の考え方
別の評価基準として、データの不確実性に注目する考え方もあります。
- クラスが混ざっているほど不確実性は高い
- 分割によって不確実性が大きく減るほど、その分割は有用
この「分割前後で不確実性がどれだけ減ったか」を基準に分割条件を選ぶ方法が、情報利得に基づく決定木です。
理論的に明確な一方で、実務ではジニ不純度が使われることが多くなっています。
決定木分類の学習手順
決定木の学習は、次の流れで行われます。
- すべてのデータを1つのノードにまとめる
- 各特徴量について、分割候補を評価する
- 最も良い分割条件を選ぶ
- データを子ノードに分割する
- 同じ処理を再帰的に繰り返す
- 分割を停止し、葉ノードを作成する
葉ノードでの予測方法
- クラス予測:葉に含まれるデータの多数決
- 確率予測:各クラスが占める割合
過学習が起こりやすい理由
決定木は、分割を増やすほど訓練データに対する当てはまりが良くなります。
その結果、
- 木が必要以上に深くなる
- 訓練データ特有のノイズまで学習してしまう
といった過学習が起こりやすくなります。
これは、決定木がデータの変化に敏感なモデルであることに由来します。
過学習対策①:事前剪定
事前剪定とは、木の成長を途中で制限する方法です。
代表的な制御項目には次のようなものがあります。
- 木の最大の深さ
- 分割に必要な最小データ数
- 葉ノードに必要な最小データ数
- 分割時に考慮する特徴量の数
これらを適切に設定することで、モデルの複雑さを抑えることができます。
過学習対策②:事後剪定
事後剪定では、一度十分に大きな木を作成した後で、性能改善に寄与しない枝を削除します。
- 当てはまりの良さ
- 木の複雑さ
この2つのバランスを取りながら、より単純で汎化性能の高い木を選択します。
決定木分類の利点
- モデル構造が明確で理解しやすい
- 特徴量のスケーリングが不要
- 非線形な分類境界を自然に表現できる
これらの特性により、分類問題の基本構造を理解するためのモデルとしても有用です。
実装時の注意点
カテゴリ変数の扱い
多くの実装では、入力として数値データが前提となります。
そのため、カテゴリ変数は適切な方法で数値に変換する必要があります。
- ワンホットエンコード
- 順序を仮定したエンコード
- 目的変数を利用したエンコード(情報漏洩に注意)
特徴量重要度の解釈
決定木が算出する重要度は、値の種類が多い特徴量に有利になる傾向があります。
結果を解釈する際には注意が必要です。
他の手法との関係
単体の決定木は柔軟ですが、不安定になりやすいため、以下のような手法の構成要素としても使われます。
- ランダムフォレスト
- 勾配ブースティング系手法
決定木の仕組みを理解することは、これらの手法を学ぶ上でも重要です。
まとめ
決定木による分類は、
- 条件分岐によってデータを分割する明確な仕組み
- 直感的に理解しやすい学習原理
- 剪定による汎化性能の調整が可能
といった特徴を持つアルゴリズムです。
以上、決定木による分類についてでした。
最後までお読みいただき、ありがとうございました。
