Oracle Analytics Cloud：ADWのAutoML機能を使用して予測モデルを作ってみる

# はじめに
Oracle Analytics Cloud（**OAC**）の2023年3月版で、Oracle Autonomous Data Warehouse（**ADW**）のAutoML機能をOACから直接実行して機械学習モデルを作成し、それをOACから利用できるように登録してくれる新機能が登場しました。
別の記事では、ADWの機械学習とOACの連携をについて書きましたが、さらに簡単にADWの機械学習モデルを利用できるようになりました。

# 1. ADWにデータの準備をする
[Oracle Analytics Cloud：ADWの機械学習モデルを使用する](https://qiita.com/tyo38/items/0244f868729c18a7fbfc) と同様にADWのチュートリアルに従って、「2. Database Actionsでデータロード」まで実行します。
（もちろん、最後まで試してもOKです！）
[107: ADBの付属ツールで機械学習(予測モデルからデプロイまで) ](https://oracle-japan.github.io/ocitutorials/database/adb107-machine-learning/)

機械学習の教師データとテストデータは、こちらを使わせてもらいます。

https://www.kaggle.com/competitions/titanic/overview

# 2. 接続とデータセットを作成する
OACにログインします。
「作成」から「接続」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e20d9ad4-d859-f375-3995-adb5c1292d22.png)
接続先として「Oracle Autonomous Data Warehouse」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a686f0dc-144b-6304-97f5-ab8e3c2b5265.png)
ADWへのデータ準備のステップで事前に作成しておいた「OML」ユーザに関する情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d7f44729-a004-164f-02bf-25a867f6c418.png)
「作成」から「データセット」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/bf17a751-2380-b4a0-22d5-c0fa22aa1d61.png)
作成した「接続」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/fd724a7e-6f51-9201-3784-b55f413936a5.png)
スキーマを展開し「OML」を展開して「TRAIN」表をドラッグ＆ドロップします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4fac0547-53af-424b-5605-0865bcde3277.png)
データセットに名前をつけて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4bdedec6-e7e3-8146-7d2e-1c2e9aa21039.png)
これが機械学習モデルを作成する際の教師データとなります。

# 3. ADWのAutoMLで機械学習モデルを作成
ホーム画面に戻り、「作成」から「データフロー」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8a51838e-bc5f-5a66-2ff0-14fda679cf6b.png)
今作ったばかりのデータセットが表示されるので、それを選択して「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/53e6fe1a-1a13-8181-4a1a-7fb51147e6b2.png)
ステップの追加（＋）をクリックして、「AutoML」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/2cccf9e4-ed66-2ce6-e246-8df93d5d8120.png)

:::note info
データセットの接続先がADWの場合だけ、AutoMLステップが追加できます。
:::

「Target」として「SURVIVED」列を選択します。
「Task Type」は「Classification」にして、「Model Ranking Metric」は「Accuracy」にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/49a6fab3-3f71-25b4-2e10-97a0c117959f.png)
「モデルの保存」ステップでは、モデル名を「TITANIC_PREDICT」にします。説明は任意です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/de895c72-f2fe-04ba-bc8f-30c474f49120.png)
モデルに名前をつけて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3cd52f9e-1b14-cfa9-c8c1-b69dc5d4159b.png)
データフローを実行して、しばらく待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/60f6a570-3e9a-dd9f-d5ce-39be61247369.png)
完了したのを確認して、ナビゲータアイコンを」クリックし「機械学習」を確認します。
「TITANIC_PREDICT」という機械学習モデルがADWに作成され、OACに自動的に登録されているのがわかります。
右クリックして、「検査」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8996d4da-c049-4840-6c8e-9f6fb3122961.png)
モデルの情報を確認できます。「閉じる」で閉じます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/11ec74e0-fbbf-5060-5871-85418f1ecb39.png)

# 4. 登録した機械学習モデルで予測
テストデータに対して、作成した機械学習モデルを適用してみます。
テストデータをデータセットとして登録するので、ホーム画面に戻り「作成」から「データセット」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/1bb4d1df-8be3-32df-721f-a5638fea3e21.png)
「TEST」表をドラッグ＆ドロップで選択し、保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f2996912-8fff-1056-c2e3-7dbd7fad1ecd.png)
TRAIN表とは、SERVICED列が無いだけで、その他の構造は同じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7425cb3a-f301-6787-64fa-ccb96f833116.png)
ふたたびデータフローを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/801afd1a-f5b4-6bbc-cd01-31ed3dd3e1a4.png)
「TEST」データセットを選択して「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e43a7cf6-81a4-af7a-64ae-e842e05fac8d.png)
＋をクリックしてステップを追加します。「モデルの適用」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/579ad6f5-400d-e5b8-a9a8-fc395316ec71.png)
自動的に登録された機械学習モデルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/d0ba505d-b573-dcf5-6b01-eb90bd4237ec.png)
「列の追加」ステップを追加します。
計算式として「1」と入力し、列の名前は「人数」とします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4716b8b2-c494-3b7c-183a-f0a931c4f75f.png)
最後のステップとして「データの保存」を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/47472138-9651-3793-73a9-511b9604c59f.png)
名前をつけて保存し、データフローを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/f0b1c81e-3f8c-18b0-73ea-bcb4303f30b7.png)

# 5. 予測した結果を確認してみる
データフローで保存したデータセットが「データセット」で確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6321fb39-0fea-09ab-dfa7-e208d0d493d8.png)
クリックして、ワークブックとして開いてみます。
さらに、様々な可視化表現を加えてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/59f6a060-3d27-8b2f-8f9a-d85ca0bc2902.png)
# おわりに
事前準備として、ADWにユーザを作ったりデータをロードしたりしましたが、それ以外の作業が全部OAC内で完結できました。
ADWでの予測モデル作成やノートブックの操作も十分簡単ですが、さらにハードルが下がったように思います。