Global Azure Boot Camp 2016 in Japan で LT した内容を記事にまとめておきます。
gooner.hateblo.jp
Azure Machine Learning を使って、玉手箱の例題を解いてみました。
玉手箱は、就職活動でお馴染みの WEB テストです。その中でも、計数理解テストにある「表の空欄予測」の問題を使います。表中の他の数値から規則性を見て、空欄の数値を答えさせる問題です。
機械学習の手法としては、線形回帰(Linear Regression)を使います。教師あり学習に属し、予測できるもの(関数)を作成する手法の1つです。
データのアップロード
例題の表をもとに CSV ファイルを作成します。
DATASET - FROM LOCAL FILE メニューから、作成した CSV ファイルをアップロードして、画面中央のスペースにドラッグ&ドロップします。
データの分割
必要なデータだけをアップロードしたので、データの正規化は必要ありません。
データを学習用とモデル評価用に分割します。Sprit Data モジュールを追加し、Fractionof rows in the first の値を 0.7 に設定します。
この結果、学習用に70% のデータが割り振られることになります。
モデルの作成
線形回帰を使うので、Linear Regression と Train Model の2つのモジュールを追加します。
販売量を求めたいので、Train Model の LaunchColumnSelector をクリックして「Sales」を設定します。
モデルの評価
予想の販売量を出すために、Score Model モジュールを追加します。
Score Model には、入力口が2つあります。左側は学習用、右側は評価用のデータの入り口となります。
次に、予想と実際の比較をするために、Evaluate Model モジュールを追加します。
ここまでの操作で学習アルゴリズムの訓練が終わり、モデルを構築できました。
Web API の公開
SET UP WEB SERVICE の Predictive Web Service[Recommended] を実行すると、Web service input と Web service output のモジュールが上下に追加されます。
RUN → DEPLOY WEB SERVICE の順序で実行します。Web API の公開が完了すると、テストページに遷移しますので、Test ボタンを押します。
4月5日の降水確率と平均気温を入力して、実行します。
「209.997288616848」という結果が返ってきましたので、正解の「A:210」にかなり近い結果を取得できたことが分かります。
まとめ
Azure Machine Learning は、機械学習の知識がなくても、ブラウザで簡単に学習アルゴリズムを作ることができます。Web API も公開することができ、テスト機能もあるのですぐに検証できる面白いサービスです。いざ試してみようとすると、データを用意するのが大変なので、身近なデータを使ってみると分かりやすいです。機械学習を本格的に取り組むと敷居が高そうなので、まずは Azure Machine Learning で遊んでみるところから始めてみようと思います。