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

不均衡データへの対処法について

TakuyaOmi
青色LED

不均衡データへの対処法について

不均衡データへの対処法として、ダウンサンプリング+バギングが有効であるとの知見が多くありますが、DataRobotでの実装は可能でしょうか。

 

複数個のダウンサンプリングしたデータセットを作成して、それをDataRobotでそれぞれ学習させて結果をアンサンブルさせるイメージなのですが、DataRobotのスマートダウンサンプリング機能+アンサンブルモデルの作成で、上記の「ダウンサンプリング+バギング」をしていることになっているのでしょうか。

 

参考にしたWEBサイト

https://upura.hatenablog.com/entry/2019/01/12/193000

 

 

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

@TakuyaOmi -san

 

問い合わせありがとうございます!まず不均衡データへの対処法として、ダウンサンプリングが実際の分析において精度向上に寄与する面は少ないです。

ダウンサンプリング:精度を落とさず・計算時間を減らすため

バギング:精度を上げるため

という形になっており、DataRobotにおいては、不均衡データへの対応の鉄板パターンとしてbalanced bootstrapを採用しており、balancedから始まるブループリントがこの動作をおこなっているものになります。

 

>DataRobotのスマートダウンサンプリング機能+アンサンブルモデルの作成で、上記の「ダウンサンプリング+バギング」をしていることになっているのでしょうか。

こちらは動きが違っていまして、単純なダウンサンプリングだと、1)過大 or 過小評価が発生する。2)検定データの分布が現実と変わるという二つの問題が生じる可能性があります。そこでDataRobotではうまくウェイトを利用したダウンサンプリング(=スマートダウンサンプリング)を使用しております。

不均衡なデータにおいてもDataRobotは対応した処理を行なっていますので、特にチューニング面で気にしていただく必要はございません。※最適化指標はDataRobotが自動的に判定したもののままで。

ご不明点ありましたら、追加で気軽にご質問ください!

0 件の賞賛

@Shuhei_Uesugi  さま

 

ご返信ありがとうございます。

 

  • ダウンサンプリング:精度を落とさず・計算時間を減らすため
  • バギング:精度を上げるため

 

まず、上記については自身の認識に誤りがないことを改めて確認出来ました、ありがとうございます。

 

また、DataRobotでの不均衡データの処理においては、ユーザーがチューニングをせずとも、スマートダウンサンプリング機能を有効にしておけば特段問題ない、ということも理解しました。

 

そのうえで追加でご質問させてください。

現在約4GBを超える不均衡データを扱っており、データを読み込むのに中々時間を要しています。事前にpythonなどでダウンサンプリングを行ってから投入することも考えたのですが、ご回答いただいたスマートダウンサンプリング機能を有効活用するためにも、時間がかかるのは許容して、全量データを投入して学習させた方が良いでしょうか。

0 件の賞賛