質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1191閲覧

LightGBM 変数重要度を算出した際に1つの変数だけ高くなってしまう

ha_horse

総合スコア20

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/11 04:17

購買データを用いてある商品を買うか買わないかの二値分類をしようとしています。
変数にはユーザー属性(性別や年齢)と過去の行動情報を入れています。

LightGBMにて変数重要度を算出した際に、来店回数だけかなり高くなってしまって他の変数の重要度が測れないといった状況になります。

この場合

  1. 1つの変数だけかなり高くなってしまうのはモデルとして正しくないのか
  2. この場合、来店回数だけ除いて再度変数重要度を測るのはおかしいか
  3. 重要度が高すぎる変数をどのように対処すれば良いのか

機械学習関連の知識が浅いので初学者として以上をご教授いただけると幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

  1. 1つの変数だけかなり高くなってしまうのはモデルとして正しくないのか

モデルをもとにした推論をどのように利用するかに依存します。
結果は、来店回数と購買行動との相関が高い、ということだけを意味します。それが、実務で意味がある結果かどうかは、判断が必要です。例えば、来店回数を測定するのが購買後(の会員カード提示時点)であれば来店回数をもとにした購買予測は機能しませんし、来店回数を促進する施策が直接的な購買促進の施策と変わらないのであれば、意味を持ちません。特に時間的前後が逆転している測定情報の場合、機械学習としては「リーク」している可能性があります。

  1. この場合、来店回数だけ除いて再度変数重要度を測るのはおかしいか

意味はあると思います。相関が高い特徴量同士が混在している場合、特徴量重要度が正しく表示されないことが知られています。来店回数と相関が高い(結果として購買行動と相関が高い)別の特徴量Xが隠れているかもしれません。

参考: 特徴量重要度にバイアスが生じる状況ご存知ですか?

  1. 重要度が高すぎる変数をどのように対処すれば良いのか

回答1と2に帰着します。重要度が高すぎることそのものの善悪は判断できず、実際の推論で役立つかを確認する必要があります。

投稿2021/05/11 11:12

toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問