SONYのAutoMLサービス「PredictionOne」を使ってみた

#１．はじめに
最近、簡単に自動で予測モデルの構築ができる仕組み（AutoML）がではじめていますね。その中でも2019年6月12日にSONYが公開した無料で使える**「Prediction One」**が気になったので早速使ってみました。

今回は「誰でも数クリックで予測分析」というキャッチコピーと簡単にできるという噂を信じて、**マニュアルやドキュメントは一切読まず**に、進めてみようと思います。

今回はとりあえず動かしてみることを目的としているので、学習データと評価データを同じものを使ったりしていますが大目に見てください。

#２．とりあえず、セットアップ
①[SONYのPredictionOne](https://predictionone.sony.biz/)のサイトで「今すぐお申込み」をクリック。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/da457f2a-a17d-dc2c-fb46-9300832aee4f.png)

②入力フォームが出てくるので、とりあえず埋めてみる。

③「内容を確認しました」にチェックをして、「内容を送信する」をクリック。

④完了画面が表示される。

⑤メールが届いたので、リンクからPredictionOneをダウンロードする。
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/5f3394a2-d47e-0f7b-e13a-34d272377706.png)

⑥「Prediction　One　ダウンロード」をクリック。
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/77cd58b6-36ab-2a8d-a4a4-6f0b8f70b8a5.png)

⑦これを実行。
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/c0b45933-b7a6-fc66-7669-b5267c8757c2.png)

⑧とりあえず次へ。
![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/9616789d-73b0-b684-d240-e682c5e599de.png)

⑨同意して次へ。
![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/a7432386-6ecc-aad7-0f84-3437369377e0.png)

⑩インストールする。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/d2150bcf-9502-a534-ff2e-78482e6d07de.png)

⑪インストール中
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/a8bfe161-b4b2-8905-97b7-2ad394fd5fd6.png)

⑫完了したっぽい。
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/c9ac1c2b-d2b5-bef3-9061-031a7f863453.png)

⑬再起動が必要らしい。とりあえず「はい」を選んで再起動。
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/7c444510-7a10-fc64-b912-9e4763facb7e.png)

これでインストールは完了したはず！！！


#３．早速、予測モデルを構築してみる
①スタートメニューから「Prediction One」を起動。
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/658ea7c4-50e9-c006-3a32-ecef0f17de66.png)

②とりあえず「新規プロジェクト」をクリックしてみる。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/5a57392e-4e08-6da9-a683-374509b99765.png)

③プロジェクト名を適当に入力して「決定」をクリック。
![16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/e94309e7-ef38-16dc-da98-1f775da4e959.png)

④とりあえず「新規モデル作成」を押してみる。
![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/54b0a9db-db71-6cd7-f3d4-6b8f83e688a3.png)

⑤ファイルを指定する画面が出てきたので、とりあえずIrisのデータを取り込んでみる。
![19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/677536ca-eb5d-ea34-66e6-18de81e1cb31.png)

**（参考）Irisのデータはここから入手しました。**
http://home.a00.itscom.net/hatada/ml/data/iris01.html

このようなデータです。
![34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/4f605da9-c187-7c4d-34bc-98af3f6ded49.png)

⑥「予測ターゲット」（目的変数）として「あやめ」を選択すると、自動的に「多値分類」が選択された。
![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/0c820208-1284-829f-dfb0-2e7aeb214aa0.png)

⑦スクロールすると評価データを指定する部分がある。今回は特に用意していないので「学習データから自動抽出」と「必ず交差検証を行う」を選択した。これで「学習と評価を実行」をクリック。

![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/34225d74-f807-96b0-5886-26f222c64499.png)


⑧学習が進んでいるようです。**ニューラルネットや勾配ブースティングで学習しているようです。**
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/192ab028-37f2-d79a-f9f8-82b054383c6b.png)

![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/18e18b45-1dba-6ab2-8746-682124e0f78e.png)

⑨終わったら「OK」をクリック。

#４．結果
①結果画面が表示されました。**Accuracy（正解率）が0.9467**になったようです。項目の寄与度も出ています。「モデルの精度は非常に良いです」というコメントまで記載してくれてあります。**「念のため、予測時には利用できない項目を使ってしまっていないか確認してください」**というコメントは、Accuracyが高いため正解データやそれに近似するデータが含まれている可能性を示唆してくれているのでしょうかね。親切ですね🎵
![26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/5fabb058-7e6e-f667-b7be-223d0a10deab.png)

②スクロールすると評価値と混同行列が表示されています。
「平均Precision」は、多値分類のそれぞれのPrecisionの平均のことでしょうかね。「平均Recall」「平均F値」も同じ感じですかね。（Accuracy、Precision、Recall、F値などの用語説明は割愛します）

![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/7880aa2e-1b4a-445f-0e57-e1e5bc92fc0f.png)

どうやら、予測モデルの構築ができたようです。

#５．新たなデータでの予測
①「予測」タブを選択して、「新規予測」をクリックする。
![29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/19195400-4fd4-159e-db48-6aadd7a8b94e.png)

②予測用のデータを指定して「決定」をクリック。（今回は、予測用データを用意してなかったので、とりあえず学習用のデータをセットしました。）
![30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/9ff52b3b-4892-7946-84cf-9bc8133caf77.png)

③完了したようです。プレビューが出てきました。予測結果を保存します。
![31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/a0353fc8-4026-6b2b-9f0b-cd65fd207baf.png)

④保存したファイルを開いてみるとこうなっていました。（黄色は私が色を付けています。）多値分類なので、「セトナ」「バーシクル」「バージニカ」の３つのスコアのうち一番高いものを採用します。いい感じに分類できていますね。（学習データなので当然ですが）
![33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299024/4cf82b17-ebf3-dc28-ae99-cee8fcd87a4f.png)

#６．感想
マニュアルを一切見なくても操作できてしまいました！操作はすごく簡単でした🎵

機械学習の基礎を学んだことがある人であれば、画面を見ながら直感的に操作できると思います。選択肢もミニマムになっていて、利用者が頭を使うことなく進めることができるようになっています。

ただ、「学習と評価て何？」「交差検証ってなに？」という点が分からないレベルだと、それを知らなくても操作できてしまう簡単さが、かえって危険な気もしました。この手の仕組みは「機械学習の知識がなくても使える」というわけではなく、**「ある程度の知識はあるけれども、プログラミングが面倒な人に便利」**といったものではないかと思いました。

個人的に「おおッ！」と思ったのは、**学習結果の画面で、Accuracyの下に「念のため、予測時には利用できない項目を使ってしまっていないか確認してください」と表示された**ことです。おそらくAccuracyが高すぎたので、正解データに近いものが学習データの説明変数に含まれていないかということを注意喚起しているのだと思います。こういった気づきを与えてくれるのはありがたいですね！（1回しか試していないので、メッセージにバリエーションがあるのかはわかりませんが・・・。固定だったらちょっと残念。可変であると信じたい。）


でも、このメッセージも、「知っている人」が見れば意味が分かりますが、基本知識がないと何をいっているのか分からない気もしますね💦

最後までお読みいただいて、ありがとうございました(*´▽｀*)♡

#７．関連記事
**SONYのAutoMLサービス「PredictionOne」を使ってみた**
https://qiita.com/paco_itengineer/items/7b6f1c62ae7263ac1a43

**WatsonStudioの「AutoAI」を使ってみた（学習編）**
https://qiita.com/paco_itengineer/items/910b7ee4b6373ff21e4e

**WatsonStudioの「AutoAI 」を使ってみた（評価編）**
https://qiita.com/paco_itengineer/items/ca1f97f17bb91ac351eb

**GoogleCloudPlatformの「AutoMLTable」を使ってみた**
https://qiita.com/paco_itengineer/items/4cf064d272f007fcae57