DataRobot
AIの機械学習を半自動で行ってくれるツールに
DataRobotというものがあります。
とても便利ですので、使い方をまとめておきます。
機械学習のステップは、
データの収集と準備→モデルの生成→モデルの評価と解釈→モデルの実運用化になります。
1.データの収集と準備
データは教師データを取得します。
データの中で、モデリングに有用な特徴量セットをDataRobotは教えてくれます。
データの中で予測したいターゲット値を決めて、
その値を予測するために有用なデータを教えてくれます。
データの中で注意しなくてはいけないのがリーケージです。
リーケージとは、
予測時点ではわかっていないはずの特徴量を使ってモデリングすることです。
例えば、新店舗の売上を予測するとき、
予測には客数や店舗面積が関連します。
まだ出店していないのに、売上予測はできないということです。
よってリーケージとなるリスクがある特徴量は省きます。
DataRobotでは、自動で検知する機能があります。
2.モデルの生成
モデルの生成は、プループリントという概念、データ前処理とアルゴリズムを組み合わせたものから生成します。
モデルの評価指標は分類問題ではLogLossかAUCを利用します。
LogLossの検定結果は0に近いほど精度が良く、AUCは1に近いほど精度が良いモデルです。
LogLossは、0か1かを判定するシグモイド関数を活用した指標です。
AUCは、0か1かを判定するROC曲線を活用した指標です。
3.モデルの評価と解釈
モデルの精度の評価方法は、リフトチャート、ROC曲線、予測分布、混同行列等がある。
リフトチャートとは、予測値と実績値のペアを予測値でソートして適当なビン(グループ)に分け、
各ビンの平均値を計算してプロットしたものです。
直観的に予測値の上振れが下振れがわかります。
ROC曲線とは、
陽性の中で正しく陽性と予測した率をy軸、陽性と予測した中で正しく陽性であった率をx軸である。
予測分布は、イベントの確率(予測値)に対する確率密度分布を、
実測値の正例と負例に分けて描いたものです。
混同行列は、
モデルによる予測値と実測値を比較して、予測のあたっている数と外れている数をまとめた表です。
混同行列から計算される評価指標は、
陽性の実測総和の中で陽性と正しく予測できた確率の真陽性率(リコール)、
陽性の予測総和の中で陽性と正しく予測できた確率の陽性的中率(プレシジョン)、
リコールとプレシジョンの調和平均のF1スコアが良く利用される。
予測の判定クライテリア(しきい値)は、F1スコアが最大となるところを初期値にしている。
特徴量の予測へのインパクトを確認することが出来ます。
特徴量毎の予測への作用する関係を部分依存と呼びます。
現場の重視する特徴量と一致していれば、モデルを安心して利用することができます。
モデルの実運用化は、
明日へ続く…