LoginSignup
0
0

Oracle Analytics Cloud:データフローで機械学習を試してみる

Posted at

はじめに

Oracle Analytics Cloud(OAC)では、データセットをインプットとして機械学習モデルを構築するためのデータフローを作成できます。
構築した機械学習モデルは、別のデータセットに適用できます。
この一連の流れを紹介します。

データの準備

手元の環境にSQLDeveloperをインストールしているのですが、Oracle Data Miner用のサンプルデータをロードするためのスクリプトがあることを知りました。
これを使ってみようと思います。

場所は、sqldeveloper/dataminer/scripts です。
ここにある instInsurCustData.sql を流用します。
顧客リストが作成され、保険に加入したかどうかを示すデータが含まれます。
Autonomous Data Warehouse(ADW)に専用のユーザーを作成し、SQLを実行します。

データフローの作成

ここから先は、OACでの作業です。
サンプルデータをデータセットとして定義して、データフローを作成していきます。

データセットの作成

INSUR_CUST_LTV_SAMPLE表を使用しますが、この表をトレーニング用とテスト用に分けて使います。
まずは、トレーニング用のデータセットを作成します。
普通にINSUR_CUST_LTV_SAMPLE表を使ってデータセットを作ります。
INSUR_CUST_LTV_SAMPLE表を右クリックして「定義の編集」をクリックします。
image.png
フィルタアイコンをクリックしてメニューを表示させ、「式フィルタの作成」をクリックします。
image.png
CUSTOMER_IDに格納されている値の長さが5バイト以上の列だけを抽出します。
image.png
乱暴ですが、これで全データの90%程度を抽出できます。
保存アイコンをクリックして、データセットを保存します。
image.png
名前は「INSUR_CUST_LTV_TRAIN」にします。
image.png

続いて、テスト用のデータセットを作成します。
全く同じ要領で、式フィルタの内容だけを変えます。
(今度はCUSTOMER_IDの長さが5バイト未満のものだけを抽出)
image.png
「INSUR_CUST_LTV_TEST」という名前で保存します。
image.png

トレーニングのためのデータフローを作成

「作成」をクリックして、新しいデータフローを作成します。
image.png
「INSUR_CUST_LTV_TRAIN」データセットをクリックして選択し、「追加」をクリックします。
image.png
ステップを追加するために「+」をクリックして、「二項分類子のトレーニング」をクリックします。
image.png
今回は、アルゴリズムとしてサポートベクターマシンを選択します(後で変更も可能です)。
image.png
ターゲットを「BUY_INSURANCE」列とします。
image.png
この列には、保険に加入したかどうかを「Yes」「No」のいずれかのデータで入っています。
従って「Positive Class in Target」の値はデフォルトの「Yes」のままにしておきます。
その他のパラメータも全部デフォルトのままにしました。
モデルの保存ステップで、任意の名前のモデル名を入力します。
image.png
データフローを保存します。
image.png
任意の名前を入力します。
image.png
データフローを実行します。
image.png
image.png

作成した機械学習モデルの評価

機械学習モデルが作成できたら、モデルの評価を見てみます。
「機械学習」メニューを見てみると、データフローで作成した機械学習モデルがあるのがわかります。
image.png
作成した機械学習モデルを右クリックし「検査」をクリックします。
image.png
「品質」タブで、モデルの精度等を確認することができます。
image.png

機械学習モデルを適用するためのデータフローを作成

新規にデータフローを作成します。
使用するデータセットは「INSUR_CUST_LTV_TEST」を選択します。
ステップを追加するために「+」をクリックして、「モデルの適用」をクリックします。
image.png
先程作成した機械学習モデルをクリックして選択します。
image.png
さらに「データの保存」ステップを追加します。
image.png
データセット名とデータセット表に任意の名称を入力します。
image.png
データフローを保存します。
image.png
データフローの名前を入力します。
image.png
データフローを実行します。
image.png

予測したデータセットでワークブックを作成

データフローの実行が完了したら、データメニューでデータセットの一覧を確認します。
指定した名前のデータセットが作成されていたら、クリックしてワークブックを作成します。
image.png
ワークブックで可視化の体裁を整えたら完成です。
PredictiveValue列が予測結果で、BUY_INSURANCE列が実際の値です。
image.png

おわりに

1行もコードを書かずに機械学習モデルを作成し、それをデータに適用することができました。
トレーニングのためのデータフローで、機械学習アルゴリズムを変更したり、パラメータを変更したりして、結果がどうなるかを試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0