AutoAIでお手軽機械学習(その3) Webサービス編

# はじめに
AutoAIは、IBM Cloud上のサービスWatson StudioおよびOpenShiftベースの製品CP4D(Cloud Pak for Data)上で稼働する機械学習モデル自動構築ツールです。
第三部では「**モデル構築編**」で作成した機械学習モデルをWatson Machine Learing上のWebサービスとしてデプロイし、呼出しテストを行ってみます。
この他の「AutoAIでお手軽機械学習」シリーズの記事は以下の通りです。

[AutoAIでお手軽機械学習(その1) 準備編](https://qiita.com/makaishi2/items/d63f0bbac32a975c391e)
[AutoAIでお手軽機械学習(その2) モデル構築編](https://qiita.com/makaishi2/items/d6cd449f7a9f7186a833)
[AutoAIでお手軽機械学習(その4) Jupyter Notebook編](https://qiita.com/makaishi2/items/0c59ae675362c9f85640)
[AutoAIでお手軽機械学習(その5) API編](https://qiita.com/makaishi2/items/12061696efc97bc1c747)

[2020-01-27] 40,000件のテストデータを利用するシナリオに変更
[2020-03-16] githubのリポジトリ移動 & 汎用的な予測用コード追加
[2020-07-20] AutoAI日本語化に伴い全面的に更新
[2020-09-23] Watson MLのアーキテクチャ変更に伴い更新
[2020-11-03] cp4dタグ追加

# デプロイメントスペースの作成
2020-09-01にWatson MLはアーキテクチャが変更になり、Webサービス作成のためにデプロイメント・スペースを定義することが必要になりました。デプロイメントスペースに関しては、下の図を見ていただくと概念がわかると思います。
従来 Watson Studioでは、成果物がすべてプロジェクトに保存される形になっていました。
実行環境であるWatson Machine Learningとしての、成果物の保存先がデプロイメント・スペースとして明確に定義される形になったのです。

![deployment.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/9eb8b934-e9b5-2535-b3bb-d558dd8be1cc.png)

## プロジェクト管理画面の表示
最初に次のURLを指定して、Watson Studioにログインします。
https://dataplatform.cloud.ibm.com

ログイン後に、作成済みのプロジェクト管理画面を表示します。プロジェクトの選択手順は「その2」に記載しましたので、わからない方はそちらを参照してください。

## デプロイメントスペース一覧表示

プロジェクト管理の画面が表示されたら、画面左上の「三」のような場所をクリックします。

![スクリーンショット 2020-09-23 21.55.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/174c32de-8803-d060-c472-7504d6123cde.png)

下のようなメニューが出たら、「デプロイメントスペース」の一つ下の「すべてのスペースの表示」をクリックします。

![スクリーンショット 2020-09-23 21.55.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/626f1f9e-c42e-d3c6-3b08-6b19f63bebec.png)

## デプロイメントスペースの新規作成

下のようなデプロイメントスペース一覧の画面が表示されますが、この段階ではまだ一つもデプロイメントスペースがないはずです。
画面右上の「New deployment space」のリンクをクリックします。

![スクリーンショット 2020-09-23 21.56.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ee56edf3-a97e-b28b-f8d8-3772d1bb0d61.png)

下のような画面が出てきますので、上の「空のスペースを作成」を選んで下さい。

![スクリーンショット 2020-09-23 21.56.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/6f493ba9-9764-2624-0e12-41406089f222.png)

名称は「**space01**」など、適当な名前を入力して画面右下の「作成」ボタンをクリックします。

![スクリーンショット 2020-09-23 21.56.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/fd61aeb2-b1b1-00f2-7d02-a05862be6863.png)

下のような画面になりますので、しばらく待って下さい。

![スクリーンショット 2020-09-23 21.57.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/96215426-fb36-acdb-11cd-3c0b412ab93b.png)

最終的に、次のような画面になればデプロイメント・スペースの作成に成功しています。右側の「**新しいスペースの表示**」をクリックして下さい。

![スクリーンショット 2020-09-23 21.58.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/af2616bd-6cd7-a8b6-8e9a-5080d6062c01.png)


## Watson MLインスタンスとの関連付け
下のようなデプロイメントスペースの管理画面に遷移するので
①　一番右の「設定」タブを選択し、
②　Watson MLの下の「Associate instance」のリンクをクリックします

![スクリーンショット 2020-09-23 21.58.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/898491e9-5d8f-df81-5f69-70b8239fefb0.png)

下の画面になるので、
①　ドロップダウンから関連付けるWatson MLのインスタンスを選択(多分1つしか選択できない)
②　「保存」をクリックします。

![スクリーンショット 2020-09-23 21.58.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/d0478f8a-fcab-a340-9ce7-dd257424933e.png)

これで、デプロイメント・スペースの設定は完了しました。再び画面右上の「三」のアイコンをクリックし、今度はプロジェクト管理画面(My First Project)を選択します。これで、一番最初のプロジェクト管理画面に戻るはずです。

![スクリーンショット 2020-09-23 21.59.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/18048002-7ec6-41da-be3c-b54702551488.png)

# デプロイ手順
準備ができたので、前の記事で作ったAutoAIのモデルをWebサービス化します。
手順は
(1) モデルの保存
(2) モデルのプロモート
(3) モデルのデプロイ
の3段階になります。下の図を再掲しますので、それぞれのステップで何をやるのか理解して下さい。

![deployment.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/79e0dcb7-818c-9167-b27d-6f555c626578.png)

## (1) モデルの保存

左から2つめの「**資産**」タブに、「**AutoAI実験**」という欄があるはずです。その中で「その2」で作成したモデル「**営業成約予測**」のリンクをクリックします。

![スクリーンショット 2020-07-20 8.59.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/31a08116-dd8a-7560-bbb9-b85f1dc0e04c.png)

詳細画面の下の方に次のようなリストが出て来ます。

![スクリーンショット 2020-07-20 9.05.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/fef3cdd9-510c-f34c-1067-d42cde865c87.png)

マウスポインタを、保存したいモデルの行に移動すると、次のような保存用ボタンが表示されます。

![スクリーンショット 2020-09-23 22.38.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/107d2eaf-9aeb-e2f6-0123-f9b1a220f410.png)

クリックすると、下の画面になるので、「**モデル**」を選択します。
![スクリーンショット 2020-09-23 22.38.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2ae05383-475b-9702-d1b6-51af26f5ca01.png)

次の画面が出てくるので、デフォルトの状態で画面右下の「保存」をクリックします。

![スクリーンショット 2020-09-23 22.39.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ba40076d-1d66-19b8-c4b7-99dfd2d0a971.png)

保存に成功すると、画面右上に次のようなパネルが表示されます。

![スクリーンショット 2020-09-23 22.39.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/66744985-6e09-1ca9-e336-4e5c12293af3.png)

## (2) モデルのプロモート
次のステップは、保存したモデルのプロモートです。
保存の成功を確認したら。画面上部の「マイ・プロジェクト」の右側のプロジェクト名の領域をクリックします。
ここをクリックすると、プロジェクト管理のメインメニューに遷移します。

![スクリーンショット 2020-07-20 9.11.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/8f169dab-976c-015a-f20c-61bdee1070cc.png)

「資産」タブであることを確認後、画面を下の方にスクロールすると、「**Watson Machine Learningモデル**」という項目が出てきて、先ほど保存したモデルが一覧に含まれているはずです。このリンクをクリックして下さい。

![スクリーンショット 2020-09-23 22.43.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ff033855-a5e8-a648-8f0c-517447226a0f.png)


下のようなモデル管理画面が表示されます。
ここで、画面右上の「**デプロイメント・スペースにプロモート**」のリンクをクリックして下さい。

![スクリーンショット 2020-09-23 22.43.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/7e7490aa-4496-5bca-4c6c-07700dfddfcf.png)

下のような画面に遷移します。「**ターゲット・スペース**」の欄に先ほど作ったデプロイメント・スペースが選ばれていることを確認した上で、画面右下の「**プロモート**」ボタンをクリックします。

![スクリーンショット 2020-09-23 22.44.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/934cdce5-1160-eb2c-ef42-a7abb54897d1.png)

プロモートに成功すると、下のような画面が表示されます。

![スクリーンショット 2020-09-23 22.44.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/85159f47-5751-6623-2331-7d90fe12a07f.png)

## (3)モデルのデプロイ
プロモートに成功したら、最後のステップはモデルのデプロイです。
ここで、再び、画面右上の「三」のアイコンをクリックし、下のメニューを表示させます。
今度は、事前に作成したデプロイメントスペース(図ではspace01)を選択します。

![スクリーンショット 2020-09-23 22.44.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/96c38a99-2b50-192d-c394-f0c372ca9700.png)

下のように資産タブの「モデル」の項目の中に先ほどプロモートしたモデルがあるはずです。そのリンクをクリックします。

![スクリーンショット 2020-09-23 23.01.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ae73c2cd-e842-8b47-dda9-7a32d692f052.png)

下の画面に遷移するので、「デプロイメントの作成」ボタンをクリックします。

![スクリーンショット 2020-09-23 23.01.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/fb98d9dc-5744-522a-ee1b-953ca7f568e8.png)

下のような「デプロイメントの作成」の画面になります。
この画面で
①　デプロイメント・タイプとして「オンライン」を選択
②　名称を設定 (図では``bank-marketing-web``としています)
③　画面右下の「作成」ボタンをクリック

![スクリーンショット 2020-09-23 23.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/bbc4eb87-7c56-a9a5-5b1a-f821cd1bf8ea.png)

すると、次のような画面が表示されます。最初は状況が「進行中」になっています。

![スクリーンショット 2020-09-23 23.02.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/29faf6bd-3c7c-d312-dd6f-4eca744b3d23.png)

しばらく待っていると、下のように状況が「**デプロイ済み**」に変化します。これで作ったモデルのWebサービス化が完了しました。

![スクリーンショット 2020-09-23 23.07.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/cc127d93-1ca6-bed7-af01-0aa6bdecaa9e.png)

# Webサービスのテスト
それでは、今デプロイしたWebサービスの呼び出しテストをしてみましょう。
最初に管理画面についている簡易テスト機能を利用してみます。


## (1) 簡易テスト機能から項目値を入力してテストする
　Watson Studioでは、生成したWeBサービスに簡易テスト機能がついていて、ここから簡単な呼び出しテストが可能です。まずは、この機能を使ってテストを実施してみましょう。

デプロイメントスペースの管理画面から
①　左から2つ目の「デプロイメント」タブを選択
②　デプロイメントのリストから先ほど作ったWebサービス(下の図の場合``bank-marketing-web``のリンクをクリックします。

![スクリーンショット 2020-09-24 13.26.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/25c3ebe7-a366-fe02-aaf2-57ad9c55d2ae.png)


下の画面になったら、右の「テスト」タブをクリックします。

![スクリーンショット 2020-09-24 13.35.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/03e5b055-fa1b-dc74-3a84-e92fe88db4b5.png)

次のような画面が出てくるので、一つ一つ項目をセットしていきます。
最後に**予測**ボタンをクリックします。
入力する値としては、例えば下の検証用CSVデータ(学習には使っていないデータ)の値を参考にしてください。

![スクリーンショット 2020-09-24 13.35.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/bdbbd151-2130-e387-48c5-66acd564c1ff.png)

#### 今回販促結果 = 成功 のテストデータ

|項目名|値|
|---|---|
|年齢|44|
|職業|management|
|婚姻|divorced|
|学歴|tertiary|
|債務不履行|いいえ|
|平均残高|2367|
|住宅ローン|いいえ|
|個人ローン|いいえ|
|連絡手段|cellular|
|最終通話日|22|
|最終通話月|sep|
|最終通話秒数|263|
|通話回数_販促中|1|
|前回販促後_経過日数|184|
|通話回数_販促前|6|
|前回販促結果|success|


#### 今回販促結果 = 失敗 のテストデータ

|項目名|値|
|---|---|
|年齢|46|
|職業|blue-collar|
|婚姻|single|
|学歴|secondary|
|債務不履行|いいえ|
|平均残高|0|
|住宅ローン|いいえ|
|個人ローン|いいえ|
|連絡手段|unknown|
|最終通話日|21|
|最終通話月|may|
|最終通話秒数|27|
|通話回数_販促中|10|
|前回販促後_経過日数|-1|
|通話回数_販促前|0|
|前回販促結果|unknown|

すべての項目の入力が終わったら、「予測」ボタンをクリックすると、予測結果がJSON形式で得られます。
下記に、予測結果例と、JSONデータの読み方を示します。

![スクリーンショット 2020-09-24 13.51.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/2f002799-b4b8-b000-0985-1ec1e6b08dea.png)


## (2) 簡易テスト機能からjsonで一括テスト

上の方法でテストするのは、今回のモデルのように入力値が多い場合に煩雑です。このような場合、json形式データで複数のテストを同時に行うことができますので、今度はそのケースを試してみます。
下の画面で、JSON入力アイコンをクリックしてください。
JSONデータのサンプルは結果が「成功」のケース、「失敗」のケースそれぞれについて、テストデータから20件分とってきたものを下記に張り付けておきましたので、こちらをコピペして利用します。

![スクリーンショット 2020-09-24 14.38.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c0b4b5fa-d9b8-545d-29b8-22ad7c645891.png)


#### 今回販促結果 = 成功のテストデータ

```json
{"input_data": [{"fields": ["年齢", "職業", "婚姻", "学歴", "債務不履行", "平均残高", "住宅ローン", "個人ローン", "連絡手段", "最終通話日", "最終通話月", "最終通話秒数", "通話回数_販促中", "前回販促後_経過日数", "通話回数_販促前", "前回販促結果"], "values": [[30, "technician", "single", "tertiary", "いいえ", 2325, "いいえ", "いいえ", "cellular", 10, "aug", 263, 1, 127, 7, "failure"], [44, "management", "divorced", "tertiary", "いいえ", 2367, "いいえ", "いいえ", "cellular", 22, "sep", 263, 1, 184, 6, "success"], [81, "retired", "married", "primary", "いいえ", 243, "いいえ", "いいえ", "cellular", 27, "oct", 131, 1, -1, 0, "unknown"], [27, "admin.", "married", "secondary", "いいえ", 897, "いいえ", "いいえ", "cellular", 5, "jun", 397, 1, -1, 0, "unknown"], [60, "retired", "married", "secondary", "いいえ", 523, "いいえ", "いいえ", "cellular", 11, "feb", 467, 1, 182, 3, "success"], [58, "retired", "divorced", "secondary", "いいえ", 1080, "はい", "いいえ", "cellular", 29, "jul", 1058, 2, -1, 0, "unknown"], [51, "blue-collar", "married", "primary", "いいえ", 541, "いいえ", "いいえ", "cellular", 11, "aug", 663, 3, -1, 0, "unknown"], [31, "services", "single", "secondary", "いいえ", 1027, "いいえ", "いいえ", "cellular", 2, "jul", 217, 3, -1, 0, "unknown"], [61, "self-employed", "married", "tertiary", "いいえ", 10861, "いいえ", "いいえ", "cellular", 25, "oct", 225, 1, 91, 5, "success"], [34, "admin.", "married", "secondary", "いいえ", 1406, "はい", "いいえ", "cellular", 20, "aug", 63, 2, 85, 1, "success"], [39, "technician", "single", "tertiary", "いいえ", 393, "いいえ", "いいえ", "cellular", 26, "mar", 281, 1, -1, 0, "unknown"], [35, "management", "single", "tertiary", "いいえ", 1618, "はい", "はい", "cellular", 7, "may", 542, 1, -1, 0, "unknown"], [57, "admin.", "single", "secondary", "いいえ", 2223, "いいえ", "いいえ", "cellular", 12, "aug", 1064, 1, -1, 0, "unknown"], [24, "self-employed", "single", "tertiary", "いいえ", 2984, "はい", "いいえ", "unknown", 27, "may", 935, 1, -1, 0, "unknown"], [35, "admin.", "divorced", "secondary", "いいえ", 1224, "はい", "いいえ", "cellular", 3, "nov", 187, 1, -1, 0, "unknown"], [22, "student", "single", "secondary", "いいえ", 254, "いいえ", "いいえ", "cellular", 13, "jan", 143, 2, -1, 0, "unknown"], [51, "management", "single", "tertiary", "いいえ", 151, "はい", "いいえ", "cellular", 8, "sep", 638, 1, 427, 3, "success"], [51, "blue-collar", "married", "primary", "いいえ", 0, "はい", "はい", "cellular", 25, "jul", 946, 3, -1, 0, "unknown"], [34, "blue-collar", "single", "primary", "いいえ", 79, "いいえ", "いいえ", "telephone", 10, "jul", 336, 4, -1, 0, "unknown"], [57, "admin.", "married", "secondary", "いいえ", 2120, "いいえ", "いいえ", "cellular", 19, "aug", 687, 4, -1, 0, "unknown"]]}]}
```

#### 今回販促結果 = 失敗のテストデータ

```json
{"input_data": [{"fields": ["年齢", "職業", "婚姻", "学歴", "債務不履行", "平均残高", "住宅ローン", "個人ローン", "連絡手段", "最終通話日", "最終通話月", "最終通話秒数", "通話回数_販促中", "前回販促後_経過日数", "通話回数_販促前", "前回販促結果"], "values": [[46, "blue-collar", "single", "secondary", "いいえ", 0, "いいえ", "いいえ", "unknown", 21, "may", 27, 10, -1, 0, "unknown"], [41, "technician", "married", "secondary", "いいえ", 352, "はい", "いいえ", "cellular", 18, "nov", 129, 2, -1, 0, "unknown"], [26, "student", "single", "tertiary", "いいえ", 641, "はい", "いいえ", "cellular", 15, "may", 55, 1, 368, 1, "failure"], [49, "housemaid", "married", "primary", "いいえ", 640, "いいえ", "いいえ", "telephone", 13, "aug", 214, 4, -1, 0, "unknown"], [46, "entrepreneur", "married", "tertiary", "いいえ", 406, "はい", "いいえ", "telephone", 15, "jul", 232, 4, -1, 0, "unknown"], [46, "blue-collar", "married", "primary", "いいえ", 225, "いいえ", "いいえ", "cellular", 22, "aug", 157, 6, -1, 0, "unknown"], [26, "student", "single", "secondary", "いいえ", 1164, "いいえ", "いいえ", "cellular", 9, "jul", 116, 1, 301, 1, "other"], [55, "retired", "married", "tertiary", "いいえ", 357, "はい", "いいえ", "cellular", 11, "aug", 526, 1, 103, 1, "failure"], [28, "technician", "single", "secondary", "いいえ", 3, "いいえ", "いいえ", "telephone", 18, "may", 40, 8, 349, 6, "failure"], [39, "admin.", "single", "secondary", "いいえ", 2040, "はい", "いいえ", "unknown", 2, "jun", 145, 2, -1, 0, "unknown"], [31, "blue-collar", "married", "primary", "いいえ", 7424, "はい", "いいえ", "unknown", 21, "oct", 54, 1, -1, 0, "unknown"], [34, "management", "married", "tertiary", "いいえ", -73, "はい", "いいえ", "cellular", 11, "jul", 90, 1, -1, 0, "unknown"], [44, "services", "married", "secondary", "いいえ", 3843, "はい", "いいえ", "cellular", 17, "nov", 70, 1, 150, 2, "other"], [39, "services", "married", "tertiary", "いいえ", 6497, "いいえ", "いいえ", "unknown", 18, "jun", 567, 1, -1, 0, "unknown"], [55, "retired", "married", "primary", "いいえ", -90, "はい", "はい", "unknown", 7, "may", 634, 2, -1, 0, "unknown"], [31, "blue-collar", "married", "secondary", "いいえ", 2591, "はい", "いいえ", "cellular", 20, "nov", 55, 1, -1, 0, "unknown"], [54, "services", "married", "secondary", "いいえ", 770, "いいえ", "いいえ", "cellular", 4, "aug", 151, 1, -1, 0, "unknown"], [46, "services", "married", "secondary", "いいえ", -522, "はい", "いいえ", "cellular", 31, "jul", 61, 2, -1, 0, "unknown"], [31, "technician", "married", "tertiary", "いいえ", 8, "いいえ", "いいえ", "unknown", 29, "may", 71, 5, -1, 0, "unknown"], [44, "unemployed", "married", "tertiary", "いいえ", 17747, "はい", "いいえ", "cellular", 5, "feb", 8, 7, -1, 0, "unknown"]]}]}
```

呼出し結果例を以下に示します。
今回作ったモデルでは正解が「成功」のデータ20件に対して正解となったのは10件、正解が「失敗」のデータ20件に対して、正解となったのは20件でした。


![スクリーンショット 2020-07-20 10.57.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/0dec9e45-8b63-8437-f9f3-6132626a8299.png)

## (3) Watson StudioのJupyter NotebookからAPIを利用して一括テスト

最後に、アプリケーションからAPIを使ってWebサービスを呼び出してみます。
シナリオとして、テスト用にリザーブしてある40,690件全件のデータに対する分類結果を、Watson StudioのJupyter Notebook上のPython から取得してみます。

Notebookのソース全体のリンクはこちら

https://github.com/makaishi2/sample-data/blob/master/notebooks/bank-marketing-autoai-test.ipynb

Watson Studioのプロジェクト管理画面から先ほどと同じように**プロジェクトに追加**をクリックします。
下の画面で今度は、**Notebook**を選択します。

![スクリーンショット 2020-07-20 12.16.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/117e2ce0-0ac0-ca93-87d7-9c671a6f73aa.png)

下の画面で以下の入力をします。

① 「**URLから**」タブをクリック
② **名前**の欄に 「**営業成約予測モデルの精度評価**」などの名称を入力
③ **Notebook URL**の欄に下記のURLを入力
④ **作成**ボタンをクリック

![スクリーンショット 2020-07-20 12.21.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/c708e9ad-5f50-19ae-bb7d-ebee1197accb.png)

入力するURL: 
https://github.com/makaishi2/sample-data/raw/master/notebooks/bank-marketing-autoai-test.ipynb

読み込んだNotebook内では**APIKeyの設定**と**APIのScoring URL設定**の2つのセルを設定します。
情報入手の手順はNotebook内に記載がありますので、そちらを参照して下さい。
設定後は `shift+enter`でセルを順に実行してください。うまくいくと、40,690件の全テストデータに対して、モデルの予測結果がわかる形になります。

最後に、Notebook上で表示されるはずのグラフサンプルを紹介します。


#### 混同行列

![スクリーンショット 2020-09-24 18.59.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f6f8ebed-7189-ca81-ecfe-faaa25ade654.png)

#### ROC AUC曲線

![スクリーンショット 2020-09-24 16.26.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/ab301fe9-a1c2-3924-36fe-a75c218ec7eb.png)


非常にきれいなROC曲線で面積の値も0.915なので、相当精度の高いモデルということができます。

#### モデルを使った場合と使わない場合の成約率の比較

![スクリーンショット 2020-09-24 16.28.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/19a28a65-eedd-42ee-e4f0-befa14a4b417.png)


モデル利用前には11.7%だった成約率は、モデル利用後には41.3%までアップする結果となりました。
これだけ精度がアップすれば、リアルなユースケースでも業務的に十分役に立ちそうです。

# 汎用的予測コード
AutoAIのモデル作成は本当にお手軽にできますが、予測に関してはAPI Callが必要で若干ハードルが高いです。そこで、学習時と同じフォーマットのCSVファイルを入力に、すべての行に対して予測し、結果をEXCELに保存する汎用的なサンプルコードを作りました。
このコードを活用していただければ、予測に関しても簡単に行うことができると思います。
コードのリンクは以下になります。

https://github.com/makaishi2/sample-notebooks/blob/master/autoai/call-rest-api.ipynb

結果表のイメージを二値分類ケース、多値分類ケースそれぞれについて添付します。

[二値分類ケース]  
![スクリーンショット 2020-03-16 20.33.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/f77b3590-49c9-539a-25b5-ff8a609a5e01.png)


[多値分類ケース]  
![スクリーンショット 2020-03-16 20.27.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206130/30f2f6a6-e4cf-df45-6ab7-7a52de60025e.png)