Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@marugari2

AutoMLの予測値は確率と見做せるのか

概要

AutoMLはモデル構築を省力化するのに便利ですが、学習プロセスや生成されたモデルがブラックボックス化しやすい点は否めません。
この度、DataRobot AI Platform トライアルが提供開始されたので以前から気になっていたポイントについて少し挙動を調べてみました。

目的

GBDT等のアルゴリズムでナイーブに二値分類モデルを構築すると、あるサンプルに対する予測値とそれが正例である確率との差が大きくなることがあります。

モデル予測値を確率と一致させるためにキャリブレーションと呼ばれる処理があります。機械学習一般の文脈におけるキャリブレーションについては以下の記事等を参照ください。

AutoMLで構築したモデルの予測値はそのまま確率として扱って問題ないかというのが当記事のテーマです。

実験

データ

Kaggle BNP Paribas Cardif Claims Management を利用しました。

train.csv を学習用85,740件、検証用28,581件に分割しました。正例はおよそ76%です。

実験結果

評価指標としてLogLossとROC-AUCの2種類を試しました。また、某PaaSのAutoMLサービスでもモデルを構築して比較しました。

metric ROC-AUC LogLoss RMSE
DataRobot AUC 0.75583 0.46541 0.38934
DataRobot LogLoss 0.75475 0.46617 0.38969
AutoML A AUC 0.74981 0.47004 0.39130
AutoML A LogLoss 0.75274 0.46870 0.39063
calibrated 0.75710 0.46307 0.38854

calibratedはDataRobot AUCモデルを検証データでIsotonic Regressionしたものになります。
上記の何れのモデルもcalibratedのLogLossやRMSEと大きな差はなく確率と見做せるような予測値であると分かります。

DataRobotについては How DataRobot can maximize metrics for binary classification に予測値がwell-calibratedであることが書かれています。また、「評価」→「リフトチャート」からビジュアライズに確認することもできます。
datarobot-lift.png

例えば [D] I've compared Google Cloud AutoML Tables with my AutoML python package のように評価指標の選択によってLogLossが大きく変わる報告もありますが、今回の実験では確認できませんでした。

AutoMLで採用されているのはLogLossを最小化するアルゴリズムで、評価指標は早期終了の規準としてだけ使われているためと思われます。ROC-AUCを選択した方がモデルサイズの大きくなりやすい傾向はありそうです。

まとめ

二値分類のタスクで確率が欲しいときには評価指標にLogLossを選ぶべきと考えていましたがROC-AUCでも問題なさそうです。DataRobotではリフトチャートで予実を確認できるのでビジネス実装する際の安全確認ができて親切だと思いました。

一方、回帰タスクにおいては評価指標の選択がクリティカルになるので注意が必要です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?