8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OracleのAutoML UIで気軽に明日雨が降るか予測しよう

Last updated at Posted at 2021-04-21

Oracleの新製品AutoML UIを使って、クリックで簡単にモデル生成、デプロイ、RESTで呼び出すところまでやってみました。データセットは、Kaggleのオーストラリアの過去10年分の天候データから、次の日に雨が降るかどうかを予測するモデルを作ってみました。

番外編も用意しておりますので、最後までパラパラっと読み進めて下さいね。
今回も一緒に1ステップ1ステップ進めていける構成にしておりますので、是非楽しんで頂けたら嬉しいです!

※OCIアカウントの作り方、ADBの作り方、OMLユーザの作り方等は【OCI未経験でも】OML NotebooksでPythonを書き始めるの記事に記載しております。

##今回の資料で使うデータの出典

Rain in Australia
Predict next-day rain in Australia
By Joe Young

https://www.kaggle.com/jsphyg/weather-dataset-rattle-package/metadata

・weatherAUS.csv(13.44 MB)をデバイスにダウンロード下さい

上記のデータのデータソースhttp://www.bom.gov.au/climate/data

#OCIのAutoML UIでモデルを作る

##OCIにログインする

image.png

##ADBの詳細ページで、「ツール」をクリック

image.png

##機械学習に必要なデータをロードするため、ツールタブの「データベース・アクション」クリック

image.png

##OMLユーザでサインイン
image.png

##データツールの「データ・ロード」をクリック
image.png

##「データのロード」と「ローカル・ファイル」を選択し、「次」をクリック

image.png

##画面中央の「ファイルの選択」をクリック
image.png

##weatherAUS.csvがソースにあることを確認し「緑の実行ボタン」をクリック
image.png

##データロードを実行中…
image.png

##実行終了を示す緑のチェックマークを確認後、画面右下の「完了」をクリック
image.png

##ADW詳細画面に戻り、「サービス・コンソール」をクリック
image.png

##サービスコンソール画面左の「開発」をクリック
image.png

##サービスコンソール開発タブ内の、「Oracle Machine Learningノートブック」をクリック
image.png

##OMLユーザでサインイン
image.png

##クイックアクションの「AutoML」をクリック
image.png

##AutoML実験ページの左側の「+作成」をクリック
image.png

##実験の作成ページで「名前」を入力
image.png

##実験の作成ページで「名前」を入力後、「データ・ソース」をクリック
image.png

##表の選択で、「OML」スキーマにロードした「WEATHERAUS」を選択、「OK」をクリック
image.png

##データ・ソース選択後、「予測ターゲット」の選択をする
image.png

##WEATHERAUSのデータでは、「RAINTOMORROW」を選択
image.png

##予測タイプは、自動で分類か回帰か決定(クリックして手動で選ぶことも可能です)
image.png

##画面下の特徴で「チェックボックス」をクリックで各特徴量の有効無効切り替えが可能
image.png

##画面右上の「開始」をクリック後、「より良い精度」で実行
image.png

##AutoMLを実行中…
image.png

##精度進捗やリーダー・ボードが表示され、画面右上で実行進捗状態の確認可能に
image.png

##実行中…①
image.png

##実行中…②
image.png

##実行が完了し、リーダー・ボードには、精度で上位5つのアルゴリズムが表示されている
image.png

##画面下の特徴で各特徴量の重要度が表示されている
image.png

#モデルデプロイ

##作成されたモデルの内1つを選択して、「デプロイ」をクリック
image.png

##必要項目を入力し、「OK」をクリック
image.png

##デプロイ後、画面左上のハンバーガメニュの「モデル」をクリック
image.png

##モデルページにて、「デプロイメント」をクリック
image.png

##先ほどデプロイしたモデルが表示されていることを確認
image.png

#デプロイしたモデルをRESTで呼ぶ

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=「ADBのURL」
② export tenant=「テナントのOCID」
③ export username=「OMLユーザのユーザ名」
④ export password=「OMLユーザのパスワード」
⑤ export database=「ADBのデータベース名」
⑥ export token=「認証トークン」

##①環境変数omlserverには、ADBURLを入力 (次のどちらかの方法で見つけて下さい)

###ADBURLの見つけ方 その1 – ADBのサービス・コンソールURLをコピー
image.png

image.png

###ADBURLの見つけ方 その2 – ウォレットのtnsnames.oraから見つける

image.png

image.png

ADBURLが見つかりました

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com
② export tenant=「テナントのOCID」←次!
③ export username=「OMLユーザのユーザ名」
④ export password=「OMLユーザのパスワード」
⑤ export database=「ADBのデータベース名」
⑥ export token=「認証トークン」

##②環境変数tenant - OCIのトップ画面の右上の人型アイコンから、「テナンシ」をクリック
image.png

##②環境変数tenant – テナンシ詳細ページのテナンシ情報にあるOCIDをコピー

image.png

環境変数tenantが見つかりました

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=「OMLユーザのユーザ名」←次!
④ export password=「OMLユーザのパスワード」
⑤ export database=「ADBのデータベース名」
⑥ export token=「認証トークン」

##③環境変数usernameには、OMLユーザのユーザ名を入力

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=OML
④ export password=「OMLユーザのパスワード」←次!
⑤ export database=「ADBのデータベース名」
⑥ export token=「認証トークン」

##④環境変数passwordには、OMLユーザのパスワードを入力

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=OML
④ export password=password
⑤ export database=「ADBのデータベース名」←次!
⑥ export token=「認証トークン」

##⑤環境変数database - データベース名をコピー

image.png

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=OML
④ export password=password
⑤ export database=ATPoml
⑥ export token=「認証トークン」 ←次!

##⑥環境変数tokenには、①〜⑤を使って手にいれた認証トークンを

RESTで呼ぶ際に必要な6つの環境変数(1つ1つ見つけていきます):

① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=OML
④ export password=password
⑤ export database=ATPoml

↓上記の環境変数を使って、手に入れる

⑥ export token=「認証トークン」

##⑥環境変数token - ターミナルで①〜⑤の環境変数を追加

image.png

export omlserver=https://adb.ap-tokyo-1.oraclecloud.com
export tenant=ocid1.tenancy.oc1...................uca
export username=OML
export password=<password>
export database=ATPoml

##⑥環境変数token - 認証トークンをCURLで手に入れる

image.png

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d 
'{"grant_type":"password", "username":"'${username}'", "password":"'${password}'"}' 
"${omlserver}/omlusers/tenants/${tenant}/databases/${database}/api/oauth2/v1/token"

##⑥環境変数tokenに認証トークンを手に入れました(下準備完了)
① export omlserver=https://adb.ap-tokyo-1.oraclecloud.com/
② export tenant=ocid1.tenancy.oc1..aaaaaaaaggaka7fbakfb22209fafnuahf73bhauillwouccx72faufdd
③ export username=OML
④ export password=password
⑤ export database=ATPoml
⑥ export token=’eJhbGciOi......................EFA==‘

##ターミナルで、環境変数tokenを追加

image.png

export token=‘token’

##デプロイしたaus_1の詳細情報をGETしてみる
image.png

curl -X GET "${omlserver}/omlmod/v1/deployment/aus_1" \
--header "Authorization: Bearer $token" | jq

##デプロイしたaus_1の詳細情報でattributeを見てみる
image.png

##モデルに予測させてみる
image.png

curl -X POST "${omlserver}/omlmod/v1/deployment/aus_1/score" \
--header "Authorization: Bearer ${token}" \
--header 'Content-Type: application/json‘ \ -d 
'{"inputRecords":[{"HUMIDITY3PM":"30","LOCATION":"Albury",
"RAINFALL":"1","WINDGUSTSPEED":"30"}]}'| jq

##明日雨が降るかどうか確率を出してくれている

image.png

##値を変えて、モデルに予測させてみる
image.png

curl -X POST "${omlserver}/omlmod/v1/deployment/aus_1/score" \
--header "Authorization: Bearer ${token}" \
--header 'Content-Type: application/json‘ \ -d 
'{"inputRecords":[{"HUMIDITY3PM":"90","LOCATION":"Albury",
"RAINFALL":"30","WINDGUSTSPEED":"50"}]}'| jq

##今度は、雨が降るであろう予測が返ってくる

image.png

#番外編:AutoML UIで作ったモデルをOML Notebooksにエキスポートする

##リーダー・ボードで単純ベイズの「モデル」を選択し、「ノートブックの作成」をクリック

image.png

##新規作成する「ノートブックの名前」を入力し、「OK」をクリック

image.png

##画面上部で、ノートブックが作成されたことを確認後、左上のハンバーガメニューをクリック
image.png

##ハンバーガメニューの「ノートブック」をクリック
image.png

##ノートブックの画面で、先ほど作成した「AUS Weather」をクリック
image.png

##モデルをエキスポートして新規作成したノートブック「AUS Weather」の中身①
image.png

##モデルをエキスポートして新規作成したノートブック「AUS Weather」の中身②
image.png

8
1
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
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?