みなさん、こんにちは
セカンドサイト株式会社の益永です。
今回は機械学習自動化ツール「SkyFox」の使い方を紹介させて頂きます。長いので2回に分けての紹介になります。
【前編】モデル作成までの手順
【後編】モデル結果の読み方とモデル適用
※トライアルサイトはSkyFoxの公式ページ(https://skyfox.ai)にあるリンクからご利用頂けます。宜しくお願い致します。
サンプルデータの準備
説明を始める前に今回の説明で使用するデータをダウンロードしましょう。
画面の赤く囲んでいるところをクリックするとダウンロードページに遷移します。
こちらをクリックするとサンプルデータが選択できます。これからモデルを作成しますので学習用を選択してください。(予測用は作成したモデルを適用して予測をする際に使用します)
現在はまだ二値分類のサンプルデータしか用意できていませんが、今後増やしていく予定です。
こちらのデータを使用して説明致します。
①学習データの選択
まずプラスマークがある「モデルを追加」というボタンをクリックします。
「モデルを追加」ボタンをクリックすると次の画面が現れます。
このステップでは4つの項目を指定します。
上から順に説明しますね。
モデル名入力
モデルの名前を入力します。ここで入力したモデル名が先ほどの初期画面に表示されます。何個もモデルを作成するとどれがどれだかわからなくなってしまうのでパッと見て何のモデルかわかるように名前を付けておくことをオススメします。
何も入力しなければアップロードデータのファイル名が自動でそのままモデル名となります。
学習データ選択
学習に使用するデータを選択します。「学習データ選択」という文字の横に?マークがついていると思います。こちらにカーソルを当てると補足説明がポップアップしますので参考にしてください。
また注意書きにもありますがアップロードできるファイルの容量は500MBまでとなりますのでご注意ください。なおファイルはローカルからもサーバーからもアップロード可能です。
目的選択
分類・回帰・時系列分析・教師無し学習の4つが選択可能です。今回は生存か否かを予測するモデルを構築しますので分類を選択します。
分類や回帰ができる機械学習の自動化ツールはよくありますが、時系列分析や教師無し学習にも対応した自動化ツールはあまり多くありません。これもSkyFoxの特徴のひとつとなっています。
学習データの削除
モデル作成に使用したデータをサーバ上から削除するかしないかを選択できますが、今回はデフォルトの「削除しない」のまま次へをクリックします。
②学習データのサマリ
次へをクリックすると②学習データのサマリ画面に遷移します。ここでは各変数のサマリ情報を確認可能です。SkyFoxがデータを読み込み自動で判断した結果が格納されていますが、もちろん変更は可能です。「各変数をモデルでどう扱うのか?」を定義していきます。
1列目:予測対象
まず一番左のカラムにあるのは"予測対象"(目的変数)の設定です。今回SkyFoxは自動で”コンバージョン”を選択してくれていますのでそのままでOKです。
ちなみにキャンペーンも選択可能になっています。ユニーク数を見ると3となっていますのでこちらを選択しますと多値分類が可能です。
2列目:分析対象
こちらは項目選択のチェックボックスになります。例えば一つ一つのレコードを特定するKEY情報などは分析には使用しませんので、もしこういった分析から除外したい項目があればこちらでチェックを外します。
3列目:データ項目
データの項目名です。シングルバイトである必要はなく、ダブルバイトでも問題ありません。
4列目:タイプ
ここには数値・日時・カテゴリー・テキストの4つが定義できます。数字が入った変数であってもカテゴリーとし扱いたい場合は変更が可能です。また文章等のテキストが入った変数も文書ベクトルを生成し学習に使用することが可能です。
今回は自動で外されてしまっている項目はありませんでしたが、以下のような場合には自動で外されます。
- ユニーク数が100を超えるカテゴリー変数
- 例えば名前のようなKey情報である可能性が高いもの
自動で除外された場合、その理由は一番右のカラムの備考を参照すればわかるようになっています。
5列目:値(1行目)
そのままの意味で1行目に入っている値です
6列目:ユニーク数
こちらもそのままの意味です。
7列目:オープンデータ追加
今回のデータではありませんが、例えばあるデータ項目に都道府県名が格納されていて、その都道府県名から紐づく外部統計情報を追加したいといった時に使用します。そのようなオープンデータが利用できる場合はここにプラスマークが表示されます。
このプラスマークをクリックするとどのオープンデータを紐づけるか選択する画面が開きます。
紐づけるデータにチェックを入れてOKをクリックすると新たな項目が付け足されます。
③分析のオプション その1 「データ変換選択」
次へをクリックすると③分析のオプションの変換画面に遷移します。
ここでは各変数の前処理と分析のアルゴリズムを設定します。
下記の画面の上段2つは変数の前処理の設定で下段1つはアルゴリズムの選択です。
まずはデータ変換選択です。
デフォルトではスタンダードパッケージが選択されています。
こちらをクリックすると他のパッケージを選択できます。
パッケージは下記の4種類となっています。
ライトパッケージ
データ項目を追加する変換を行わないパッケージです。最適な学習のために最低限の変換のみを行います。
スタンダードパッケージ
効果的な学習を行うためのデータ変換を網羅したパッケージです。項目の影響度の確認が難しくなるデータ変換は行わないため影響の大きい項目の判断が容易にできます。
アドバンストパッケージ
標準パッケージに加え、統計変換を行った結果を学習に使用するパッケージです。どの項目の影響が大きいかの判断が難しくなる半面、モデルの精度向上が望めます。
旧パッケージ
2019年6月のアップデート前と同じ内容でデータ変換を行います。アップデート前と同じ結果を得ることが出来ます。
その時の目的によって選択してください。
まずはデフォルトのスタンダードでどの変数が効いているかとかどれくらいのパフォーマンスが出るかなど様子を見て頂き、更にパフォーマンスを追求する場合にアドバンストを選択されるのが効率が良いと思います。
パッケージを選択すると元の画面に戻ります。
詳細設定の「設定を変更」をクリックすると下記のウィンドウがポップアップします。
アドバンストパッケージでは15個の処理が設定可能です。
各変換の定義を確認したい場合は歯車のマークをクリックしてください。詳細設定のwindowがポップアップします。
さらに?はてなマークにカーソルを当てると次のように説明がポップアップします。
ところどころにこのはてなマークがありますので是非カーソルを当ててみてください。参考になると思います。
③分析のオプション その2 「アルゴリズム選択」
アルゴリズムの選択については下記の記事でまとめてますのでご参照ください。
④モデルの作成
次へをクリックすると④モデルの作成画面に遷移します。ここではこれまで設定した内容の確認ができます。修正したい箇所があれば右の変更ボタンから修正することが可能です。
特に問題がなければモデルを作成ボタンをクリックします。
クリックするとモデル作成が始まります。
途中で一旦ホーム画面に戻ります。
これは裏でSkyFoxがモデルを作っている間でも他の作業ができるように配慮したものです。
新しくモデルが追加されたことがわかると思います。
そしてこのモデルの左上に更新マークがついています。
このマークがついているうちはまだモデルが完成していません。
またこの更新マークはクリックしても何も反応しません。お手数ですがブラウザーの更新ボタンで画面自体を更新して、このマークが消えるまで待ちます。
消えれば完成です。
作成したモデルをクリックしてください。
作成したモデルの結果画面に遷移します。
ここまでいかがだったでしょうか?
続きは【後編】モデル結果の読み方とモデル適用 という内容のこちらの記事で紹介しています。
実際に手に取って動かして頂くと更にご理解いただけると思いますので、是非使ってみて頂き、SkyFoxの操作性とパフォーマンスをお確かめください!