0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LightGBMの特徴量重要度とは?初心者向けに徹底解説!

Posted at

機械学習の中でも高いパフォーマンスを誇るLightGBM。このアルゴリズムを使うとき、「特徴量重要度(Feature Importance)」という言葉をよく耳にします。この記事では、LightGBMの特徴量重要度について、中学生でもわかるように簡単に、さらに具体的な計算方法まで詳しく解説します!


1. LightGBMとは?

LightGBM(ライトジービーエム)は、データからルールや傾向を学び、問題を解決するための機械学習アルゴリズムです。例えば、テストの点数を予測する場合、「勉強時間」や「過去のテスト結果」などのデータから未来の結果を予想する手助けをします。


2. 特徴量と特徴量重要度とは?

特徴量とは、データの中にある「ヒント」のようなものです。例えば、テストの点数を予測するとき、次のような情報がヒントになります。

  • 毎日何時間勉強したか
  • 過去のテストの点数
  • 睡眠時間
  • 塾に通っているかどうか

これらを機械学習では「特徴量」と呼びます。

一方、特徴量重要度は、「どのヒントがどれだけ役立ったか」を数値化したものです。これにより、モデルが予測する際にどの特徴量が重要だったかが分かります。


3. 特徴量重要度の計算方法

LightGBMでは、特徴量重要度を算出する方法がいくつかあります。以下では、具体的な計算方法を解説します。

3.1 分割回数による重要度(Split Count Importance)

この方法では、特徴量が「決定木の分割に使用された回数」を重要度とします。

計算式

$
\text{Feature Importance (Split)}_j = \sum _{t \in T} 1(f_t = j)
$

  • $\ T $: 決定木のすべてのノード
  • $\ f_t $: ノード $( t )$ で使用された特徴量
  • $\ 1 $: 指定した特徴量が使われた場合に1、それ以外は0を返す関数

特徴

単純で分かりやすいですが、同じ特徴量が何度も使われる場合、過大評価される可能性があります。


3.2 情報利得による重要度(Gain Importance)

情報利得(Gain)は、分割により損失関数がどれだけ改善されたかを示す値です。この改善量を重要度として計算します。

計算式

$
\text{Feature Importance (Gain)}_j = \sum _{t \in T_j} \Delta \text{Loss}_t
$

  • $ T_j $: 特徴量 $\ j $ が分割に使われたノードの集合
  • $\Delta \text{Loss}_t $: ノード $ t $ での損失関数の減少量

特徴

モデルの性能向上に寄与した度合いを反映しているため、非常に実用的。ただし、値の大きい特徴量が過大評価されることがあります。


3.3 カバーによる重要度(Cover Importance)

カバー(Cover)は、分割時にどれだけのデータが関わったかを示す指標です。

計算式

$
\text{Feature Importance (Cover)}_j = \sum _{t \in T_j} w_t
$

  • $ w_t $: ノード $ t $ に割り当てられたデータの重み

特徴

各分割でカバーされたデータ量を重視するため、実際のデータ分布を反映した重要度を算出できます。


4. 実際に特徴量重要度を計算する流れ

LightGBMは、上記の各計算を決定木ごとに行い、それをすべての木で合計します。具体的には、次のような流れです。

  1. 各決定木内のノードごとに、使用された特徴量を記録する。
  2. 各ノードで得られる「分割回数」「情報利得」「カバー」を計算する。
  3. 森全体でこれらを合計して、特徴量ごとの重要度スコアを算出する。

最終的に、モデルにどの特徴量が重要だったかを示す「ランキング」が得られます。


5. 特徴量重要度の使い方

特徴量重要度は、モデルの解釈や改善に非常に役立ちます。以下はその具体例です。

  • 重要な特徴量の把握:モデルが何を重視しているのかを確認できます。
  • 特徴量の選択:重要度が低い特徴量を削除してモデルをシンプルにできます。
  • 業務への応用:例えば、「勉強時間が重要」と分かれば、「勉強時間を増やす」アクションを提案できます。

6. まとめ

LightGBMの特徴量重要度は、「どの特徴量がモデルにとって重要だったか」を可視化する便利なツールです。特に以下の3つの計算方法を理解しておくと、LightGBMを使いこなせるようになります。

  1. 分割回数による重要度
  2. 情報利得による重要度
  3. カバーによる重要度

これらを活用して、より効果的な機械学習モデルの構築を目指しましょう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?