Oracle Analytics Cloud：ADWの機械学習モデルを使用する

# はじめに
Oracle Analtyics Cloud（**OAC**）には、機械学習テクノロジーを活用する様々な機能が搭載されています。
データ・フローでは、OACで機械学習モデルを構築し、それを適用することができます。
事前にAutonomous Data Warehouse（**ADW**）で構築された機械学習モデルを登録しておけば、それをデータ・フローのステップとして利用することもできます。
この記事では、ADWに定義されている機械学習モデルをOACのデータフローで使用する方法を紹介します。

# 1. ADWで機械学習モデルを作成する
ちょうど良いチュートリアルがあったので、これに沿ってADWのAutoML機能を使用して機械学習モデルを作成してみました。
- [107: ADBの付属ツールで機械学習(予測モデルからデプロイまで) ](https://oracle-japan.github.io/ocitutorials/database/adb107-machine-learning/)
このチュートリアルは、タイタニック号の生存者予測をするもので、実行したのは「3. OML AutoML UIで生存予測モデル作成」までです。
もちろん、興味があれば最後までやりきってもいいと思います！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/90ef71d6-1576-736f-68d7-2843be4639af.png)

# 2. OACでADWへの接続を作成
「作成」メニューから「接続」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/69e5e754-92b1-10b5-b1fa-c59ffffbbd0f.png)
接続先として「Oracle Autonomous Data Warehouse」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/8be6b4d9-a21a-7ceb-a9c4-21b2394bcc27.png)
機械学習チュートリアルで作成した「OML」ユーザを使用します。
必要な情報を入力し「保存」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3d5d1f2b-8913-7898-3b80-ad062ad88d64.png)

# 3. ADW内のテストデータをデータセットとして定義
「作成」メニューから「データセット」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e3baef76-80e0-91dd-6792-67574bc755a6.png)
機械学習チュートリアルを実行していれば、OMLユーザが「TEST」表を所有しているはずなので、これをデータセットとします。
先程作成した「接続」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/6ded1dab-5265-75fb-9504-16ac0b5baf78.png)
「TEST」表を「Titanic Test」という名前のデータセットとして保存します。
これは、後で使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/ddd12f57-2cb6-d905-480f-2662b89bd5fd.png)

# 4. ADW内の機械学習モデルを登録
ホーム画面に移動します。
ページメニューから機械学習モデルを登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b5bac27e-29ce-1765-2fa0-e298c06dacf2.png)
データセットを作成したときに使用したのと同じ「接続」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/e48781a6-f644-b9c6-8dd7-70228e49e7c4.png)
機械学習モデルが一覧表示されるので、先程チュートリアルで作成したものの中から一つを選択し、「登録」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/79b711fe-221c-73f2-9293-190e3f8ebb2c.png)

# 5. OACのデータ・フローを作成、実行
「作成」メニューから「データフロー」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/15c090ef-3adf-0b83-42fd-e301eef52dca.png)
事前に作成しておいたデータセット「Titanic Test」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/a68b43aa-0a0d-051c-502a-d8ee8811d70e.png)
「＋」をクリックしてステップを追加します。
「モデルの適用」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/b3520d25-5003-d14c-1882-ae86b24ae20a.png)
登録した機械学習モデルを選択して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/7924e374-7cfe-e9ee-2331-4d5e33abd6f8.png)
「＋」をクリックしてステップを追加します。
「データの保存」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/608a39e9-b0c4-91b3-e281-4ce113eedcba.png)
「データセット」「データセット表」「表」に「TITANIC_PREDICT」と入力し、データフローを保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/3d454d9d-b9ae-f44b-44ff-5537fe759438.png)
データフローを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/25ad72fb-4461-3a3b-abb9-5f53401c2f1f.png)

# 6. 結果の確認
予測した結果は、ADWに「TITANIC_PREDICT」という名前の表として保存されます。同時にOACのデータセットとしても自動的に登録されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/4cd5b7b4-db84-4ec6-5aa0-ab9641b6677a.png)
データセットからワークブックを作成してみました。
SURVIVED列は、「0 = No, 1 = Yes」です。
PCLASS列は、「1 = 1st, 2 = 2nd, 3 = 3rd」です。
男性よりも女性が、またより高いチケットの購入者の方が生存者の割合が高いと予測されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342206/49f3b7f3-ddcd-0a95-c659-56510e9a78dd.png)

# おわりに
OACには、データフローからADWのAutoML機能を呼び出して使用する機能が搭載されています。
この機能を使用すると、ADWの画面をほとんど見ることなく機械学習モデルの作成と利用ができてしまいます。
よろしければ、そちらも試してみてください。

- [Oracle Analytics Cloud：ADWのAutoML機能を使用して予測モデルを作ってみる](https://qiita.com/tyo38/items/003a34a10f28fd5ef44c)