キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

特徴量のインパクトについて

ts
青色LED

特徴量のインパクトについて

特徴量のインパクトと実際の感覚値に大きくズレがある場合、各項目の%を調整することは可能でしょうか。

ズレが出ないよう投入するデータを調整して、実際の感覚に近いモデルを使用するしかないでしょうか。

0 件の賞賛
1件の返信1
Miogawa
データサイエンティスト
データサイエンティスト

@ts さん

二つの手段があります。

「感覚と違う=入力するデータに問題がある可能性がある」と考えて入力データを調整していく方法と、モデルに直接介入するパターンです。

ただアプローチの順序としては前者を必ず確認・修正いただき、それでも問題があるに限り後者も試すというのがおすすめです。理由としては、そもそも誤ったデータセットから学んでいるリスクもあり、そこを無理にモデル側で直したとしても予測の入力のデータセットでも同じ問題が残っていると予測の信頼性が揺らぐ可能性が高いからです。またモデルに直接介入するパターンは後半に記載させていただきますが、技術的な難易度があってかつ、追加の操作が必要なことからモデルを管理して引き継いでいくという難易度も上がってしまいます。

前者のデータセットの確認のポイントとしては、効いてほしい変数が効きづらい形になっているか、影響を補完する別の変数が入っていて効果を潰してしまっているという状態が考えられます。

以下のような点で特徴量を確認いただくと良いかと思います。

  • 欠損値が多い
  • 数値型だったのにカテゴリ型と認識されてしまっている
    • 年齢が、15歳、16歳と歳まで入っていてカテゴリと認識される
  • その変数の中身にバラエティがない
    • 必ず年齢が効いていると思っていたら、すでに年齢でオペレーションが区切られていて、入力データにはとても狭いレンジの年齢しか存在していない
  • その変数をカバーしてしまうような別の変数が入っている
    • 年収で効かせたいのに、職業と役職、年齢が含まれていてそちらに効きがオーバーラップされてしまっている

特に4番目の他の変数でカバーしてしまっているケースにおいては、上位に効いている特徴量の特徴量の作用も見ていただき、部分依存からその向きや形に違和感がないかを見ていただくと良いかと思います。

Miogawa_0-1612192244218.png

 

モデルをチューニングするという場合には、DataRobotの場合、格付表機能に対応したモデルを利用いただくのが一番簡単です。こちらは二値分類問題か連続値問題で対応している機能で、Generalized Additive ModelまたはGeneralized Additive2 Modelでは、モデルの説明タブに格付表というのがあり、こちらからダウンロードしていただいたcsvファイルからモデルの係数を確認することができ、係数を手動で調整することができます。編集したファイルをアップロードいただくと子モデルとして計算を走らせ、精度がどのように変化したかも確認することができます。※モデルタブの検索から"General"などで検索していただくと見つけやすいです

Miogawa_1-1612192244293.png

これ以外にもエクスポージャーやオフセットなど特定の変数を直接モデルに効かせるように学習する仕組みや、特定の変数が特定の方向にしか学習しないように制限する単調制約があります。エクスポージャーやオフセットはもともと統計モデルなどで概念を理解している方向けの機能ですが、単調制約はこの変数はターゲットに対して絶対「正」に効くのか「負」に効くのかわかっている場合に利用するものです。

単調制約に関しては下記のブログが詳しくておすすめです。

https://www.datarobot.com/jp/blog/monotonic-constraints-20190815/

多くの場合、データより感覚のほうが正しいので、感覚を信じていただき、まずはデータを見直していただけるとうまくいくことがとても多いです。

0 件の賞賛