[Oracle Cloud] Autonomous Database+SQL Developerで機械学習してみた

SQL Developer 21.4 から SQL Developerの拡張機能であるData MinerがAutonomous Databaseに対応したということで試してみた。

#事前準備

- [Oracle SQL Developer 21.4以降のインストール](https://www.oracle.com/tools/downloads/sqldev-downloads.html)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/0e59c8f9-6d06-adf5-49ee-f3ed4a336020.png)

- SQL DeveloperでadminユーザでのAutonomous Database接続を作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/3d1338c2-a871-8237-08f3-c1ffcd40d4f7.png)

#Oracle Data Minerのリポジトリをインストール

Data Miner Repositoryをインストールするには、installodmr.sqlスクリプトを使用します。
installodmr.sqlスクリプトはSQL Developerのホームディレクトリsqldeveloper/dataminer/scriptsにあります。
通常はSYSユーザで実行しますが、Autonomous Databaseではadminユーザで実行します。

Autonomous Databaseにadminユーザで接続に対して、SQL Developerのメニューから、[ツール]を選択し、[SQLワークシート]をクリックし、SQLワークシートを開き、スクリプトを実行するには@記号を使用します。インストール先となる表領域はAutonomous DatabaseのデフォルトのUSER用表領域と一時表領域、DATAとTEMPです。

```
@C:\sqldeveloper\dataminer\scripts\installodmr.sql DATA TEMP
```

#Oracle Data Minerのユーザーを作成

Data Miner用に新規ユーザーを作成し、必要な権限を付与するには，sqldeveloper/dataminer/scriptsにあるスクリプトを実行します。

```
@C:\sqldeveloper\dataminer\scripts\createuser.sql {username} {password}
```

既存ユーザに権限付与する場合は、sqldeveloper/dataminer/scriptsにあるusergrants.sqlスクリプトを実行します．

```
@C:\sqldeveloper\dataminer\scripts\usergrants.sql {username}
```

#Oracle Data Minerを始める
これ以降は、通常のOracle DatabaseでData Minerを利用するのと同等です。

SQL Developerで Data Miner用のユーザで接続を作成後に、Data Minerメニューを表示します。
[ツール]から[Data Miner]＞[表示]を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/2ef15aba-ec55-6940-7aea-cd8a2c6cc2b7.png)

### Data Miner 接続の追加
Data Minerメニューから「＋」をクリックし作成した接続を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/9ea0a1da-a527-9c63-28ed-19fbbbb24e63.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/b83257f3-5bc0-d09d-2147-5f64871968c7.png)

### Data Miner の利用
####プロジェクトの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/34dda353-21d8-8a0e-65a4-0ef7d45000cb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/64585f64-e307-f06d-6223-7833131e75db.png)

####ワークフローの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/302cc0f7-c6dd-eec6-cf7d-71c7203cefd2.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/fd00381d-e09c-93bd-25c3-8679252e3267.png)

####モデルの作成・表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/2324ab0b-7485-474f-e234-93a4893bacb8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/2cd9d6b3-b3ff-ad9b-d3c6-1b79e0d07f1b.png)

-- 
Autonomous Databaseに接続してSQL Developer のData Minerを使って機械学習モデル作成ができました。

#参考情報

- [Oracle Data Miner now Available for Autonomous Database](https://blogs.oracle.com/machinelearning/post/oracle-data-miner-now-available-for-autonomous-database)
- [Data Miner ユーザーズ・ガイド](https://docs.oracle.com/cd/F51516_01/dmrug/index.html)
- [Oracle Data Miningの紹介](https://docs.oracle.com/cd/F19136_01/dmapi/introduction-to-oracle-data-mining.html#GUID-429CF74D-C4B7-4302-9C33-5292A664E2AD)

####Data Miner Sampleデータ作成
SQL Developer に含まれるスクリプトを作ってチュートリアル用データの作成
Data Miner用のユーザで以下のスクリプトを実行

```
alter session set nls_date_language = 'AMERICAN';
@C:\sqldeveloper\dataminer\scripts\dmsh.sql {username}
@C:\sqldeveloper\dataminer\scripts\instCarsDemoData.sql {username}
@C:\sqldeveloper\dataminer\scripts\instInsurCustData.sql {username}
@C:\sqldeveloper\dataminer\scripts\instJSONSalesData.sql {username}
@C:\sqldeveloper\dataminer\scripts\instWikiSampleData.sql {username}
@C:\sqldeveloper\dataminer\scripts\instMiningDataText.sql {username}
@C:\sqldeveloper\dataminer\scripts\instSalesData.sql {username}
```