不純度とは、データセット内に異なるクラス(カテゴリ)のデータがどれくらい混ざり合っているかを示す指標です。決定木などの機械学習アルゴリズムにおいて、データを分岐・分類する際の基準として用いられます。不純度が低いほど、データが特定の単一クラスにきれいに揃っている状態(純粋)であることを意味します。
不純度とは
不純度とは、一言でいうと「データ集合の中に異なるクラスがどれほど混ざり合っているかを表す数値」です。
詳しく解説
決定木アルゴリズムでは、データを特定の条件で分割していくことで分類を行いますが、どのような条件で分割すると最も効果的かを判断するために不純度が使用されます。不純度を計算する代表的な指標として「ジニ不純度」や「エントロピー」が存在します。データセットが1つのクラスのみで構成されている場合、不純度は最小の0となります。逆に、複数のクラスが均等に混ざり合っている状態では不純度が最大となります。分割前の不純度から分割後の不純度を引いた差分は「情報利得」と呼ばれ、決定木はこの情報利得が最大化(=不純度の減少が最大化)するように分岐条件を自動的に決定します。
具体例・使われ方
例えば、赤玉と白玉が入った箱を考えます。箱の中がすべて赤玉だけの状態は不純度が0(純粋)です。一方で、赤玉と白玉が半々に混ざっている状態は最も不純度が高い状態となります。決定木を用いた顧客属性の分類モデルでは、「購入する」と「購入しない」の顧客データが綺麗に分かれるような質問条件(例:年齢やWebサイト訪問回数など)を見つけるために、各ノードでの不純度の低下を評価しながら分岐ルールを構築します。
似た用語との違い
不純度はデータセット内の多様性や混ざり具合を評価する指標ですが、混同されやすい概念に「情報利得」があります。不純度は特定のノードや集合そのものの混ざり具合を示す値であるのに対し、情報利得はデータを分割したことによって「不純度がどれだけ減少したか」という変化量を指します。また、不純度と似た使われ方をする指標の差として、ジニ不純度は計算が高速であるのに対し、エントロピーは対数計算を含むため少し計算量が大きくなるという違いがあります。
注意点
不純度を最小化することだけを目指して決定木を深く成長させすぎると、訓練データに過剰に適合してしまう「過学習」が発生するリスクがあります。実務では不純度の変化だけでなく、木の深さを制限する剪定処理やサンプル数の制約を設けることが重要です。また、ジニ不純度とエントロピーのどちらを選択しても実際のモデル予測性能に大きな差が生じない場合が多いものの、計算コストやデータ特性に応じた適切な指標の選択が必要です。