IBM Watson Studio AutoAI: Modeling for the rest of us  日本語解説 #1

IBMのAutoAIのチュートリアル[IBM Watson Studio AutoAI: Modeling for the rest of us](https://www.ibm.com/cloud/garage/dte/tutorial/ibm-watson-studio-autoai-modeling-rest-us)の日本語解説 #1です。

(2020年6月17日更新)

このページでは
- Tutorial
- Creating a project
- Add a Watson Machine Learning service to the project
- Creating an AutoAI model for binary classification
までをカバーします。

それ以後は以下を参照してください：

- [日本語解説 #2](https://qiita.com/nishikyon/private/96b54e5658e4dba559d8)
  - Create an AutoAI model for regression

- [日本語解説 #3](https://qiita.com/nishikyon/private/7fc07af97214e532b5f5)
  - Accessing a model through a notebook
  - Summary

#0. 事前準備

[IBM Watson Studio AutoAI: Modeling for the rest of us](https://www.ibm.com/cloud/garage/dte/tutorial/ibm-watson-studio-autoai-modeling-rest-us)には書いてありませんが、Watson Studio サービスの作成が必要です。

[Watson Studio サービスとProjectの作成](https://qiita.com/nishikyon/items/ba698b638300848b746e)のを実施の上、Watson Studio サービスとProjectを作成してください。
尚、3.3で作成するProjectの名前はチュートリアル上、`Tutorial`となっていますので、チュートリアル通りに作りたい方はこの名前でなるべく作成してください（違う名前でもOKです）。

# Tutorial: チュートリアル
モデルを手動で作成することは困難です。 特定のケースに最適な候補アルゴリズムを見つけることから始まります。 適切なアルゴリズムをすべて知っていますか？ 次に、数値以外のフィールドを数値に変換してデータを準備する必要があります。 追加の特徴量最適化を行う必要がありますか？ 選択した各アルゴリズムのすべてのハイパーパラメーターをどのように調整しますか？

AutoAIはこれらすべてのステップを処理し、ランク付けされた一連のモデルから選択します。 すべての詳細が提供されるため、最適なモデルの選択が容易になり、ビジネスソリューションの実装を進めることができます。

このチュートリアルでは、次の主要な機能について探っていきます:

- 多くのアルゴリズムがビジネス上の問題に適合する可能性があります
- モデルの作成には、追加の特徴量最適化が必要になる場合があります
- モデルの作成にはハイパーパラメーターの調整が必要です
- AutoAIはモデル作成の複雑さを取り除きます


#1. Create a new project: プロジェクトの作成
[0. 事前準備](#0-事前準備) で作成済みなので、ここは完了です。

#2. Add a Watson Machine Learning service to the project: Watson Machine LearningサービスのProjectへの追加

AutoAIを使用する前に、プロジェクトにWatson Machine Learningサービスが必要です。
複数のプランが利用可能です。このラボでは、必要な機能を無料で提供するライトプランを使用します。

###1. プロジェクト画面の上部にある`設定`タブを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/6161da1c-3942-1a00-8a5a-562e296b1f87.png)



###2. `関連サービス` セクションまでスクロールします。
###3. Machine Learningサービスがない場合は、`サービスの追加`をクリックし、`Watson`を選択してから、`Machine Learning`の「Add」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/56f3d8d4-3997-66ea-72da-d3aec747fc7c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/4ad79121-e6ac-d6bc-40df-ab05d3a89153.png)

###4A: [New]のタブが選択された画面が表示された場合
1. スクロールしてPLANでLiteが選択されていることを確認して一番下の[Create]をクリック 。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/f06ad472-2777-cbad-f763-d76eaf4c0035.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/d7222210-520c-98ef-cbe2-521060a9560f.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/0068b332-ff1c-9abd-41d0-18dec058b5ed.png)



2. Confirmの画面でRegionがDallasになっていることを確認して[Confirm]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/e1884935-9caf-f017-bc6f-2a81c8f81428.png)

###4B: [Existing]のタブが選択された画面が表示された場合
`Existing Service Instance` のドロップダウンから、使用するMachine Learningのサービスを選択して[Select]をクリック 。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/266d052d-bfac-c867-e3c6-ca4276969f84.png)


###5. `設定` の画面に戻ります。
関連サービスに追加したサービスのインスタンスが追加されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/b9c4297f-c60b-6e65-7982-7c9f04cd9538.png)




モデルの作成を開始する準備が整いました。

#3. Creating an AutoAI model for binary classification: 2値分類用のAutoAIモデルの作成

このセクションでは、AutoAIを使用して2値分類モードを作成します。

このために、架空の電話会社の顧客記録を使用します。

AutoAIを使用して最適なモデルを生成します。 次に、IBM Watson Studio環境を使用してモデルでデータをを予測(評価)しようとする前に、モデルを保存してデプロイします。

###1. 解約データを追加して、モデルをトレーニングします。

データファイル`customer_churn.csv`は[ここ](https://ibm.box.com/s/5b00roqif0fw2t4lsbgaoc9sd8um90k4)にあります。 ファイルをワークステーションにダウンロードします。

プロジェクトの右側のデータウィンドウは、データをロードする準備ができています。 ウィンドウに`customer_churn.csv`ファイルをドロップするか、`参照`オプションを使用してマシン上のファイルを見つけます。
ウィンドウが開いていない場合は、画面の右上にある次のアイコンをクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/419cac23-66fb-04b8-a4a1-07b785ad7d49.png)


###2. 画面の右上にある`プロジェクトに追加`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/01c4e584-3683-038c-a93a-e34ef13d5860.png)



###3. `AutoAI 実験`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/6a8d774b-7343-3ab8-a758-a02e49c6b27f.png)


モデルに`Churn Analysis`という名前を付けます。
機械学習サービスが選択されていることを確認してください。
 
[作成]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/2b11471b-fa55-273e-22bf-c0d68d93ae1a.png)



###4. 入力データの選択
- `プロジェクトから選択`をクリックします。
- `customer_churn.csv`にチェックします。
- `資産の選択`をクリックします。

###5. 予測する列を選択して、作成プロセスを開始します。
- 「予測列の選択」から列名`CHURN`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/88537e76-0a07-1aac-92e1-5a4afc35caa5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/2d20b0ea-eb6e-94c1-f997-ee81fddcb9b4.png)


 
- `実験の実行`をクリックします。
実行は複数のステップを経て、8つのモデルを生成します。 このプロセスには8〜10分かかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/854410af-04b0-cdca-f290-1b1eea5c481d.png)


###6. 最上位のモデルの特性を調べます。
番号1のパイプラインをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/5f50079a-b016-ccde-6783-e867e9721d29.png)


モデル評価、混同⾏列、PR曲線、モデル情報、特徴量の重要度など、
さまざまなメトリックを確認できます。
確認後、画⾯の左上にある`Churn Analysisに戻る`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/d638344d-2f05-9305-c003-305701599fe4.png)
(機能の重要度=特徴量の重要度)

###7. ⼀番評価の⾼いモデルを保存します。
- ⼀番上のモデルの⾏にマウスカーソルを合わせると`名前を付けて保存`と
いうボタンが表⽰されるので、それをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/1a80b592-69fe-a423-195f-f1654fbb2288.png)

- ドロップダウンに表示された`モデル`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/2319966e-4e74-edc8-2821-bfc42e4bea9a.png)

- モデル名を`Churn Analysis Model`に変更します。
オプション説明を入力します。
- `保存`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/20fb9f0d-8805-9edc-786e-69d0e8fcd16a.png)

 
- 画面の右上にある'プロジェクトに表示'をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/65e9b385-d597-8326-9afd-6b6a2deae804.png)


###8. モデルのDeploy
- `デプロイメント` タブをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/9157249d-c75c-b2f8-2f4f-ad3f05915833.png)


- 右側の`デプロイメントの追加'をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/2823098e-d96b-167b-f235-a1cb339a9a61.png)



- 名前に`Churn model deployment`と⼊⼒後、`保存`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/38acd863-937b-3150-2690-7446052d2f55.png)


`デプロイメント`タブに⾃動で戻ります。状況は`初期化中`から`準備完了`に変わります。
1分待っても変わらない場合はリロードしてみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/e0f8d82f-33a6-8ae4-e5de-d2177c24fb26.png)


###9. JSONレコードでモデルをテスト
- `Churn model deployment`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/e0f8d82f-33a6-8ae4-e5de-d2177c24fb26.png)


`概要`タブでデプロイメントの詳細を確認できます。
`実装`タブをクリックします。そのタブの下に、スコアリングエンドポイントが表⽰され、Java、JavaScript、Pythonなどの5つの⾔語のコードスニペットも提供されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/09e6096d-4c69-37d3-2bb9-a2f957dd4e64.png)

- `テスト`タブをクリックします。そのままフォームでデータを⼊れてもできますが、今回はJSON inputアイコンをクリックして、JSONで⼊⼒します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/014db3ca-edfd-81e0-67d5-29b721b9eb34.png)


- 以下のデータを⼊⼒エリアにコピー&ペーストしてください。
(日本語訳注: `customer_churn.csv`の2行目の値です)

```json
{"input_data": 
  [{
  "fields": [ "ID", "Gender", "Status", "Children", "Est Income", "Car Owner",
              "Age", "LongDistance", "International", "Local", "Dropped",
              "Paymethod", "LocalBilltype", "LongDistanceBilltype",
              "Usage", "RatePlan"
  ],
  "values": [[ 6, "M", "M", 2, 29616, "N",
               49.42, 29.78, 0, 45.5, 0,
              "CH", "FreeLocal", "Standard",
              75.29, 2
            ]]
  }]
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/5bf19fb4-bc80-1a83-c3f6-ef938cf4da93.png)

- `予測`ボタンをクリックします。
右側に予測結果が表⽰されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/a9349f2f-ce18-e71e-4f6d-ceadd742b584.png)



```JSON
 {
      "fields": [
        "prediction",
        "probability"
      ],
      "values": [
        [
          "F",
          [
            0.9999555620264015,
            0.00004443797359858176
          ]
        ]
      ]
    }
  ]
}
```

画面の左上にあるプロジェクト名をクリックすると、チュートリアルプロジェクトに戻ることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294516/44553dc7-c416-0abe-80ec-5cd420bcab6a.png)

# Next Step
[IBM Watson Studio AutoAI: Modeling for the rest of us  日本語解説 #2](https://qiita.com/nishikyon/private/96b54e5658e4dba559d8)に続きます。