みなさん、こんにちは
セカンドサイト株式会社の益永です。
今回も機械学習自動化ツール「SkyFox」の使い方を紹介させて頂きます。
前回紹介した
【前編】モデル作成までの手順
に続いて、今回は
【後編】モデル結果の読み方とモデル適用
としてモデルができた後に、どう読み解いて、そしてどう適用させるのかについて説明させて頂きます。
※トライアルサイトはSkyFoxの公式ページ(https://skyfox.ai)にあるリンクからご利用頂けます。宜しくお願い致します。
1.モデル結果の読み方
出来上がったモデルの詳細画面がこちらになります。
上から順に説明します。
指標での性能評価
分類問題では下記の5つの指標で評価を行っています。
AUC
予測値の順に並べたときに、結果データの「0 or 1」がどれだけ一方に依っているかを数値化したもので、0.5~1.0の値をとります。
0.7以上で優良なモデルと言われます。
Accuracy
モデルによる予測結果の正解率とは、全体のうち予測結果が正しかった割合です。
もっとも分かりやすい指標で、数値が高いほど良いモデルと言えます。
ただし、「1」の発生率が1%の時、すべてを「0」と予測していても、正解率は99%となるので、注意が必要です。
F-measure
PrecisionとRecallの調和平均
PrecisionとRecallは反対の関係にあるため、モデルの精度が同じ場合、一方を上げるともう一方が下がります。
両指標を考慮して調整された指標です。
Lift
予測確率の高いところでの正解率がランダムな場合に比べてどれだけ良いかを示す指標。
不正などを予測するモデルにおいては、モデルの不正である確率が高いところでの精度が良い方が好まれます。
一般に、2以上が目安と言われます。
KS
予測スコア順に並べたときに、実際に1であった集団と、0であった集団の分布の離れ具合を示す指標。
より離れているほど確実に分類できています。
一般に、0.3以上が目安と言われます。
またこれらの指標の数値の上に結果をパッと見てわかるようラベルを付けています。
良い方から順に
- Too Good
- Good
- Middle
- Week
- Bad
指標によって閾値は異なります。
あくまで目安ということでご認識ください。
グラフでの性能評価
分類問題では下記の3つのグラフで評価を行っています。
画面上は3つ横並びですが、それぞれのグラフをクリックすると拡大表示されます。
予測と実績の比較
こちらの横軸は予測確率を10%ずつのレンジで切ったものです。そのレンジ毎の件数が青い棒グラフ、実際の確率が赤い折れ線グラフです。
赤の折れ線がちゃんと右上がりになっていることと、もしキレイな直線になっておらずバラついているのであれば、そのバラついているレンジの件数が少ないことを確認します。
リフトチャート
こちらの横軸は予測確率で評価データを並べ替えて、サンプルサイズで20等分したものです。その上でそれぞれ分割したサンプル毎の予測と実績の確率を折れ線グラフで表しています。この2本のグラフが近づいていればいるほど安定したモデルと言えます。
CAP曲線
こちらの横軸も予測確率で評価データを並べ替えたものです。予測確率が高い方から順に積み上げていきます。
例えば予測確率が高い方から10%持ってきた時に、その中に含まれる「y=1」がすべての「y=1」の中の何%か?を計算して縦軸の数値とします。
それをプロットしたものがこちらの赤い折れ線です。
実績がわかっている状態で同様のグラフを描いたものが青い線になりますので赤い線はこの青い線を越えることはありません。
この赤い折れ線が青い線に向かって上に膨らんでいればいるほど序列性能の高いモデルとなります。
項目の影響度
各項目(変数)の影響度を視覚化したものになります。
下記のように分布のグラフと一覧の表で確認できるようになっています。
各項目は前処理の際に様々な変数に分割されたり新たなものが生成されたりしています。そういったものをそのまま使っているのが、「影響度(データ変換あり)」です。
影響度の数字は全て足すと1になるように調整されています。
また元の変数で集約したものが「影響度(データ変換なし)」になります。そもそもあった項目でどれがどれだけ影響を与えているのかチェックしたい場合にはこちらを見ます。
上部にあるボタンを選択することで切り替えることが可能です。
今回の例のようにブラックボックスモデルであっても、どの項目が影響を与えているのかを数値と視覚でチェックすることが可能です。
回帰モデルであれば、更に画面上部にある係数というボタンを選択できるようになり、実際の係数を確認できます。
モデルサマリ
ここではモデルのサマリが確認できます。
上段はデータの件数やそれがどう学習用と評価用に分割されたのかなどが表示されます。
下段は分析で使用されたアルゴリズムの情報が表示されます。
学習データのサマリ
こちらはデフォルトでは何も表示されていません。
真ん中の「表示」をクリックすると集計が始まります。
※ここをクリックすると集計する変数の数だけ適用件数としてカウントされます。トライアルでは50,000件までの制限がありますのでご注意ください。(今回は7変数だけなのでたいした数ではありません。)
集計が終わると結果が表示されます。
さらにクリックすると次のように拡大表示されます。
各変数毎の分布とy=1の確率が表示されます。
さらに左のタブでは「データの一覧」が確認できます。
右のタブでは「データの評価」が確認できます。
またそれぞれのタブの下には「結果をダウンロード」というボタンがあり、csvファイルでダウンロードすることが可能です。
以下は画面下部にある4つのボタンの説明です。
2.モデルの更新
出来上がったモデルは設定を変えて再度作成することも可能です。
その場合、モデル詳細画面の下部にある「モデルの更新」をクリックします。
ここで更新したい箇所を変更の上、モデルを更新ボタンをクリックするだけです。
3.モデルの適用
出来上がったモデルを他のデータに適用して予測値を得る手順を説明します。
まずモデル詳細画面の下部にある「モデルの適用」をクリックすると次の画面に遷移します。
上から説明します。
適用データ選択
ここで適用したいデータを選択します。
予測用のサンプルデータを使用してみてください。
適用データの削除
アップロードするデータをサーバーに残しておくか削除するかを選択します。ただ適用するだけなら削除を選択します。
出力する結果
予測確率のみか、スコアも出力するか選択できます。スコアを出力する場合は高スコアが低確率なのか高確率なのか向きを選択できます。
例えば貸倒確率が高いものを低スコアと表現したい場合は「1の確率が低いほど高スコア」を選択します。
スコアのキャリブレーションを指定することは現段階ではできません。デフォルトではスコアが0の時oddsが1、100点増えるとoddsが倍になる設定です。
取得するデータ
ダウンロードするデータにもともとあった項目を残すかどうかを指定します。
注意事項
※ここの「モデルを適用」ボタンをクリックして実際に適用すると適用したデータの件数だけ適用件数としてカウントされます。例えば50,000件に適用してしまうとそれだけで50,000件までの制限に引っかかってしまい、それ以降の適用ができなくなりますのでご注意ください。
4.モデル情報のダウンロード
使用されたアルゴリズムがロジスティック回帰や決定木などの場合はモデル情報をダウンロードすることが可能です。
こちらの記事で詳しく説明していますので参考にしてください。
5.モデルのコピー
また先に作ったモデルは残したまま、設定を変えて違うモデルを作りたい場合はいちから設定するのではなく、既に開発したモデルをコピーした上でモデルを更新した方が楽です。
その場合、モデル詳細画面の下部にある「モデルのコピー」をクリックして作業を進めてください。
ここまでいかがだったでしょうか?
前編とあわせて操作をイメージ頂けたかと思います。
実際にご自身の手で動かして頂き、SkyFoxの操作性とパフォーマンスをお確かめください!