本記事は2つの会社が提供している予測分析のできるサービスを使ってみた記録です。
・ForecastFlow(GRI社提供)
・Prediction One(SONY社提供)
を使用しました。どちらも初めて使いました。というかAutoMLサービスを初めて使いました。こんな人でも使える!
ForecastFlowとPrediction Oneの比較
以下のリンクのデータを使用して予測分析を行い、使い方や出力結果などを比較しました。
これは顧客の解約リストです。この予測分析は顧客解約予測(Customer Churn)、というものになりますが今回は両サービスの比較にとどまっているので結果の解釈については行いません。
予測分析の手順は
①学習用のデータセットを用意する
②予測モデルを作成する
③予測モデルを用いてなんらかの結果を予測をする
となります。今回は②予測モデルを作成するところの使用感を見ていきます。
予測モデル作成設定
予測ターゲットは”Churn?(解約した?)”にしました。解約した/してないで2値のデータになります。
予測モデルの精度を検証するのに必要な精度検証用データを設定します。どちらもデフォルト値にしました。(ForecastFlowは学習用:検証用=7:3、Prediction Oneは9:1)
次に特徴量カラムの設定をします。ForecastFlowは特徴量カラムに”採用しない”カラムを指定できます。相関係数が高い特徴量カラム同士は予測モデルへの寄与を打ち消しあってしまうのでどちらかを省いたほうがいい場合があるためです。ForecastFlowでは相関係数が高いカラム、および欠損率が高いカラムをあらかじめ表示してくれるので適宜特徴量カラムから外します。今回は”通話時間(分)”に関するカラムを3つ外しました。
Prediction Oneでは手動でカラムを指定してくれます。特に注意書きなどは出なかったのですべての特徴量カラムを予測モデルに設定しました。
結果の出力
出てきた予測モデルの概要と詳細を保存しました。
ForecastFlowは精度評価などの計算結果がcsvファイルで出力されました。BIツール等でより詳細な分析・可視化ができるようです。
Prediction Oneは画像ファイルでした。見やすいんだと思います。
(そのうち画像を貼ります)
結果
どちらも精度評価の値と感度分析の結果が出てきました。
精度評価値
ForecastFlowはF値/Precision/Recall/Supportが表示されました。
Prediction OneはF値/AUC/Precision/Recall/Accuraryが表示されました。また、データ数を増やせば予測モデルの精度が向上するとの表示も出ました。
F値を比べたところ、
ForecastFlow : F=0.726(解約した), 0.963(してない)
Prediction One: F=0.6667
となり、ForecastFlowのほうがF値が大きかったです。
感度分析
予測ターゲットの変動に重要な特徴量(寄与度が高かった特徴量)が表示されます。
ForecastFlowは上位10個の特徴量と感度分析のシミュレート結果を出してくれます。対象の特徴量の変動に対し、予測ターゲットがどのような変動をもたらしそうかをシミュレートしてグラフで表示しています。
Prediction Oneはすべての特徴量について重要度順に並べてくれます。特徴量のランキングの他、特徴量の数値(単語だったら単語)ごとに解約した/してないの予測確率増加に寄与する度合いも表示されました。
ここで特徴量の重要度がForecastFlowとPrediction Oneで異なりました。ここはどの事象を重要視して解約予測に活かすかという話になってくるのでこの差をどう扱ったらいいのでしょうか。私にはわかりませんが…。
(そのうち画像を貼ります)
それぞれの良いところ
ForecastFlow
・省いたほうがいい特徴量カラムを出してくれるのがうれしい
・結果の出力がcsvになっているのでいろいろ使える
・感度分析シミュレートグラフがある
Prediction One
・マニュアルとチュートリアルが非常に親切、本当に読んでやってみたらだいたい分かる
・オフラインで作業ができるため社外に出したくないデータセットに適している
・”データ数を増やせば精度が上がる”という表示が出るのはうれしい