Slide 1

Slide 1 text

Oracle Analytics Cloud、Oracle Function ハンズオン アソシエー ション分析 15th June 2022 ⽇本オラクル株式会社 クラウドエンジニア統括

Slide 2

Slide 2 text

2 Copyright © 2022 Oracle and/or its affiliates | Authorized OPN Partner Only 以下の事項は、弊社の⼀般的な製品の⽅向性に関する概要を説明するものです。また、情報提供を唯⼀の⽬的とする ものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することを確約 するものではないため、購買決定を⾏う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊社の裁量により決定され、変 更される可能性があります。 Safe harbor statement

Slide 3

Slide 3 text

Oracle Analytics Cloudハンズオン アソシエーション分析 • ハンズオン利⽤サービス︓ 1. Oracle Analytics Cloud「OAC」 2. Oracle Functions 3. Autonomous Data Warehouse「ADW」 • 実施内容︓ 1. サンプルデータ(CSVファイル)をADWにアップロード 2. Oracle Functionsハンズオン Pythonを利⽤した併売分析のOracle Functionを作成 3. OACハンズオン Oracle Functionを利⽤した併売分析を実施 • ハンズオンのゴール︓ • Oracle Functionと連携させたアソシエーション分析を実施できるようになる 3

Slide 4

Slide 4 text

アジェンダ︓ 1. アソシエーション分析概要 2. Oracle Functionsハンズオン 3. Oracle Analytics Cloudハンズオン 4. まとめ 4 Oracle Analytics Cloudハンズオン アソシエーション分析編

Slide 5

Slide 5 text

1. アソシエーション分析概要

Slide 6

Slide 6 text

2. アソシエーション分析概要 1990年代初めに英国の有⼒百貨店マークス&スペンサーの店舗で集めているデータ活⽤に関して相談を受けたことを きっかけとして、⽶IBM研究所が研究を始め、Apriori (アプリオリ) というアルゴリズムを開発したと⾔われている。 POSデータ(レジ精算データ)から「どの商品とどの商品が⼀緒に買われるか」という法則性(相関ルール)を調べる⽬ 的で開発したメソッド※1 別名、マーケットバスケット分析ともいう 商品の陳列棚を⼯夫したり、ECサイトであればリコメンデーションの商品を表⽰するなど、 機会損失の防⽌。クロスセル向上で1回あたりの売上をマキシマイズ アソシエーション分析(マーケットバスケット分析)の成り⽴ち ポイント︕ 「どの商品とどの商品が⼀緒に買われるか」 であり、 「ある商品を買う“プロファイル“の⼈が、いずれどの商品を買う」のアルゴリズムは、 Apriori以外(協調フィルタリング等)にもあります。 ※1. http://arbor.ee.ntu.edu.tw/~chyun/dmpaper/agrama93.pdf 6

Slide 7

Slide 7 text

データ分析(Data Analytics) 予測的アナリティクス(Predictive Analytics) アソシエーション分析 リコメンデーション マーケットバスケット分析 商品陳列の最適化 セットメニューの考案 検索単語分析 ユーザー⾏動分析 2. アソシエーション分析概要 アソシエーション分析(マーケットバスケット分析)の位置付け 7

Slide 8

Slide 8 text

業種/業態 分析 活⽤により得られる効果(例) 総合スーパーマーケット コンビニエンスストア等 流通⼩売業全般 同時購⼊商品の組み合わせ 上記の店舗間⽐較 店舗内での商品陳列の最適化、購買動機の 把握、店舗間での顧客嗜好の⽐較、新規出 店時の地理的特徴の把握 Eコマース・デジタルコンテンツ産業 テレビショッピングチャンネル等 IDに紐づく過去の累積 購買履歴 サイト内のページ閲覧履歴 顧客ごとにカスタマイズされたメールマガジン、イ ンターネット広告、トップページによるコンバー ジョン率の向上 通信サービス ITサービス ⼯業製品 通信業、製造業全般 製品本体とオプション製品/サービスの組 み合わせ オプション製品/サービス同⼠の組み合わ せ 携帯電話、プロバイダの料⾦プラン、不可オプ ションサービスの提案、オプション商品同⼠の セット販売による顧客インセンティブ 外⾷産業 トッピングメニューの組み合わせ ⾷べ物、飲み物、サイドメニューの組み合 わせ 追加オーダーのリコメンド、新商品、セットメ ニューの考案、(時系列⽐較による)顧客動 向の調査 銀⾏、証券会社、保険会社等 ⾦融全般 ⾦融商品の購⼊状況 投資対象銘柄の提案、顧客の嗜好、選択基 準の把握 ※参考 データアナリティクス実践講座 アクセンチュアアナリティクス著 ⼯藤卓哉、保科学世監修 2. アソシエーション分析概要 アソシエーション分析の活⽤例 8

Slide 9

Slide 9 text

Support(⽀持度)同時確率 • 計算ロジック︓「りんご」と「はみちつ」が同時に購⼊された回数を総トランザクション数で割った値 • 全てのトランザクションの中で「りんご」と「はちみつ」が同時購⼊された割合がどれくらいか︖ • 全体の中でXとYを含むトランザクションの⽐率。併売ルールの出現率 Confidence (確信度)条件付き確率 • 計算ロジック︓りんご⇒はちみつとなる⽀持度の値をりんご単体の⽀持度の値で割った値 • 「りんご」を購⼊した⼈が「はちみつ」も購⼊する確率はどれくらいか︖ Lift(リフト値)改善率 • 計算ロジック︓りんご⇒はちみつとなる信頼度の値をペン単体の⽀持度で割った値 • 「りんご」を購⼊した⽅が「はちみつ」だけを購⼊した場合に⽐べて どれくらい「はちみつ」を購⼊してもらうことに貢献してもらえるか? 2. アソシエーション分析概要 相関ルールを抽出する為の代表的な3つの評価指標(KPI) ※参考 データアナリティクス実践講座 アクセンチュアアナリティクス著 ⼯藤卓哉、保科学世監修 9

Slide 10

Slide 10 text

§ 計算ロジック︓「りんご」と「はみちつ」が同時に購⼊された回数を総トランザクション数で割った値 § 全てのトランザクションの中で「りんご」と「はちみつ」が同時購⼊された割合がどれくらいか︖ § 全体の中で「りんご」と「はちみつ」を含むトランザクションの⽐率。併売ルールの出現率 X Y X Y D D 全体のトランズアクションから「りん ご」と「はちみつ」を両⽅、同時に買 う確率を計算する指標。 2. アソシエーション分析概要 Support(⽀持度)同時確率 ※参考 データアナリティクス実践講座 アクセンチュアアナリティクス著 ⼯藤卓哉、保科学世監修 数字で確認 2 100 0.02 = 例えば・・・ りんご購⼊=8 はちみつ購⼊=10 両⽅購⼊=2 全体=100 10

Slide 11

Slide 11 text

§ 計算ロジック︓りんご⇒はちみつとなる⽀持度の値をりんご単体の⽀持度の値で割った値 § 「りんご」を購⼊した⼈が「はちみつ」も購⼊する確率はどれくらいか︖⽐率を⾒る計算式 X Y D X Y D 「りんご」と「はちみつ」両⽅買った⼈ が「りんご」を買った⼈の中でどれくら いいるかを図る指標 2. アソシエーション分析概要 Confidence (確信度)条件付き確率 ※参考 データアナリティクス実践講座 アクセンチュアアナリティクス著 ⼯藤卓哉、保科学世監修 数字で確認 2 8 0.25 = 例えば・・・ りんご購⼊=8 はちみつ購⼊=10 両⽅購⼊=2 全体=100 11

Slide 12

Slide 12 text

§ 計算ロジック︓りんご⇒はちみつとなる信頼度の値をペン単体の⽀持度で割った値 § 「りんご」を購⼊した⽅が「はちみつ」だけを購⼊した場合に⽐べて、 どれくらい「はちみつ」を購⼊してもらうことに貢献してもらえるか? X Y X Y D D X Y D X Y D 2. アソシエーション分析概要 Lift(リフト値)改善率 ※参考 データアナリティクス実践講座 アクセンチュアアナリティクス著 ⼯藤卓哉、保科学世監修 それぞれアソシエーション・ルールに優劣はなく、3つの指標を相互に確認しながら判断 「りんご」の購買が「はち みつ」の購買をどの程度” 持ち上げる”か(促進さ せるか)を⽰す指標。⽬ 安として、リフト値が1より ⼤きい場合は有効な ルールとされている。 数字で確認 100 例えば・・・ りんご購⼊=8 はちみつ購⼊=10 両⽅購⼊=2 全体=100 2 8 / / 10 = 2.5 12

Slide 13

Slide 13 text

2. アソシエーション分析概要 Oracleアナリティクスでアソシーション分析の実現イメージ 13 アソシエーション分析スクリプトをOracle CloudにOracle Functionsとして登録し、Oracle Analytics Cloudから利⽤する Oracle Analytics Cloud OCI Functionsにデプロイしたアソシエーション分析スク リプトを、OACデータフローに定義する。 OCI Functions 機械学習 Script 形態素解析 Script テキスト処 理 Script

Slide 14

Slide 14 text

2. Oracle Functionsハンズオン バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 15

Slide 15 text

Oracle Functions 拡張性・カスタマイズ性の⾼いオープンソース・ベースのフルマネージド FaaS オープンソースのFaaSエンジン “Fn Project”を採⽤ コンテナ技術をベースとした ⾼いカスタマイズ性 Oracle Cloud Infrastructure が提供する豊富なサービス群との連携 Pay per use • 実稼働分のみ料⾦が発⽣ • アイドルタイムには課⾦が発⽣しない Autonomous • リクエスト量に応じた⾃動スケール • プロビジョニングや管理のためのサーバは不 要 Event-driven • OCIのトリガーによってコードを実⾏ • API Gateway, Service Connector Hub, Events, Notifications 1 2 3 15 Copyright © 2022 Oracle and/or its affiliates | Authorized OPN Partner Only

Slide 16

Slide 16 text

バケットの作成 スクリプトの準備 ファンクションのデプロイ CSVファイルを格納したバケットが必要であるため、Object Storageのバケットを作成 16 Oracle Analytics Cloud Oracle Functions CSV CSV Python Script ADW ロード 機械学習 Object Storage 「バケット」 Python Script 機械学習スクリプトの実行、CSVへの出力 機械学習スクリプトが実行され、 処理結果のCSVファイルが生成される

Slide 17

Slide 17 text

ステップ1 • 「バケットの作成」をクリック バケット「bucket-FAAS」を作成 17 ステップ2 • バケット名を「bucket-FAAS」で⼊⼒ ステップ3 • 「作成」ボタンをクリック バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 18

Slide 18 text

funcDefinition = { "status": { "returnCode": 0, "errorMessage": "" }, "funcDescription": { "outputs": [ {"name": "support", "dataType": "number"}, {"name": "confidence", "dataType": "number"}, {"name": "lift", "dataType": "number"}, {"name": "finalRules", "dataType": "varchar(1000)"} ], "parameters": [ {"name": "transaction_id", "displayName": "Transaction ID", "description": "Choose Transaction ID Column", "required": True, "value": {"type": "column"}}, {"name": "key_name", "displayName": "Key Name", "description": "Choose Key Name Column", "required": True, "value": {"type": "column"}} ], "bucketName": "bucket-FAAS", "isOutputJoinableWithInput": False } } PythonスクリプトでOracle Functionsを作成する前、まずOracle Functionsの定義 を作成 18 ステップ1 • OACに出⼒結果を定義 ステップ2 • OACからの⼊⼒パラメータ ステップ3 • ⼊⼒と出⼒ファイルを格納したバケットの指定 ステップ4 • 処理結果を⼊⼒データと結合することが必要かを指定 • 今回にはアソシエーションルールを出⼒するため、結合が不要 バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 19

Slide 19 text

if input_method == "csv": bucketName = body.get("input").get("bucketName") fileName = body.get("input").get("fileName") + body.get("input").get("fileExtension") args = body.get("args") input_csv_path = read_from_objectstore(bucketName, fileName) dat = pd.read_csv(input_csv_path, sep=",", quotechar="\"", encoding="utf-8", parse_dates=True, infer_datetime_format=True) transactionId = args.get("transaction_id") keyName = args.get("key_name") ds_list = dat.groupby(transactionId)[keyName].apply(list) association_rules = list(apriori(ds_list, min_support=0.001, min_confidence=0.1, min_lift=0.5, max_length=4)) *他の結果への細工があるが、ここには省略し、当資料同梱のファイルをご参照ください。 output_dat = Final_result[['support', 'confidence', 'lift', 'finalRules']] outputFile = body.get("output").get("fileName") + body.get("output").get("fileExtension") output_csv_path = "/tmp/"+outputFile output_dat.to_csv(output_csv_path, columns=["lift","finalRules"], index=False) write_to_objectstore(bucketName, outputFile, output_csv_path) os.remove(input_csv_path) os.remove(output_csv_path) Pythonのスクリプトを作成 19 ステップ1 • バケットのCSVファイルから、分析⽤のデータを 読み込み ステップ2 • アソシエーションルー ルを算出 ステップ3 • アソシエーションルールを格納し たCSVファイルをバケットに⽣成 バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 20

Slide 20 text

fdk>=0.1.45 oci pandas numpy apyori ファンクションライブラリの設定ファイル「requirements.txt」を作成 20 ステップ1 • ローカルにファイル「requirements.txt」を作成 ステップ2 • 「requirements.txt」にPython で利⽤したライブラリを追加 バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 21

Slide 21 text

リポジトリの作成 21 ステップ1 • 「開発者サービス」 -> 「コンテナ・レジストリ」を クリック ステップ2 • ⼀覧画⾯で「リポジトリの作 成」ボタンをクリック ステップ3 • 必要な情報を⼊⼒して、「リポジトリの作 成」ボタンをクリック • リポジトリ名︓ faas_scripts/assosiation_rules • 要注意︓リポジトリ名は必ず「アプリケー ション名+ファクション名」で作成してくださ い。今回の場合にアプリケーション名は 「faas_scripts」で、ファクション名は 「assosiation_rules」です。 バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 22

Slide 22 text

認証トークン 22 ステップ1 • 「プロファイル」メニュー( )を開き、 「ユーザー設定」をクリック ステップ2 • ユーザーの詳細画⾯で「認証 トークン」 -> 「トークンの⽣成」 ボタンをクリック バケットの作成 スクリプトの準備 ファンクションのデプロイ ステップ3 • 説明を⼊⼒して、「トークンの⽣成」ボタン をクリック ステップ4 • ⽣成されたトークンをコピー

Slide 23

Slide 23 text

アプリケーションの作成 23 ステップ1 • 「開発者サービス」 -> 「アプリケーション」 をクリック • アプリケーションの⼀覧画⾯で「アプリケー ションの作成」ボタンをクリック ステップ2 • 必要な情報を⼊⼒して、「作 成」ボタンをクリック • 名前︓faas_scripts • VCNおよびサブネット︓新規 VCN/サブネットを作成するか、 既存のVCN/サブネットを選択 バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 24

Slide 24 text

環境の構成 24 ステップ1 • アプリケーションの詳細画⾯で表⽰してい る「Cloud Shellの起動」ボタンをクリック ステップ2 • Step2、3のコマンドをコピーし、 クラウド・シェル・ウィンドウに貼り 付けてから、実⾏ バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 25

Slide 25 text

環境の構成(続き) 25 ステップ1 • Step4の[repo-name-prefix]をリポジトリ名の前半 「faas_scripts」に変更してから、クラウド・シェル・ウィンドウに 貼り付けて実⾏ ステップ2 • 前に⽣成された認証トークンは、 パスワードとしてStep6で使⽤ バケットの作成 スクリプトの準備 ファンクションのデプロイ ステップ3 • Step7まで実⾏

Slide 26

Slide 26 text

環境の構成(続き) 26 ステップ1 • Step4の[repo-name-prefix]をリポジトリ名の前半 「faas_scripts」に変更してから、クラウド・シェル・ウィンドウに 貼り付けて実⾏ ステップ2 • 前に⽣成された認証トークンは、 パスワードとしてStep6で使⽤ バケットの作成 スクリプトの準備 ファンクションのデプロイ ステップ3 • Step7まで実⾏

Slide 27

Slide 27 text

ファンクション・コードのアップロード 27 ステップ1 • 「fn init --runtime python assosiation_rules」をCloud Shellで実⾏ ステップ2 • スクリプトの準備で作成した「func.py」と 「requirements.txt」をCloud Shellにアップロード バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 28

Slide 28 text

ファンクションのデプロイ 28 ステップ1 • 「mv func.py requirements.txt ./assosiation_rules」をCloud Shellで実⾏ • アソシエーション分析のスクリプトをファンクションのホルダーに移動 ステップ2 • 「assosiation_rules」のディレクトリに切り替え、 「fn -v deploy --app faas_scripts」を実⾏して ファンクションをデプロイ バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 29

Slide 29 text

OACタグの追加 29 ステップ1 • ファンクションの詳細画⾯で「タグの追加」を クリック ステップ2 • タグ・ネームスペースに「なし(フリーフォーム・ タグ の追加)」を選択 • タグ・キーに「oac-compatible 」を⼊⼒ • タグ値に「true」を⼊⼒ • 「タグの追加」ボタンをクリック バケットの作成 スクリプトの準備 ファンクションのデプロイ

Slide 30

Slide 30 text

3. Oracle Analytics Cloudハンズオン 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 31

Slide 31 text

3. Oracle Analytics Cloudのハンズオン ハンズオンで作成する完成画⾯イメージ(1/4) 完成イメージ 31

Slide 32

Slide 32 text

3. Oracle Analytics Cloudのハンズオン ハンズオンで作成する完成画⾯イメージ(2/4) 完成イメージ 32

Slide 33

Slide 33 text

3. Oracle Analytics Cloudのハンズオン ハンズオンで作成する完成画⾯イメージ(3/4) 完成イメージ 33

Slide 34

Slide 34 text

3. Oracle Analytics Cloudのハンズオン ハンズオンで作成する完成画⾯イメージ(4/4) 完成イメージ 34

Slide 35

Slide 35 text

ステップ1 • Autonomous Database の詳細画⾯で「データベース ・アクション」をクリック 「fruit_unpivot」は、⼩売業などで分析の対象になるPOS データを想定しています サンプルデータ(1万数千件/CSVファイル) 35 ステップ2 • 「Data Tools」の「DATA LOAD」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 36

Slide 36 text

ステップ1 • 設定をディフォルトにして、「Next」をクリック DATA LOAD画⾯ 36 ステップ2 • 次の画⾯で、ローカルにあるCSVファイルをド ラッグアンドドロップし、「Setting」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 37

Slide 37 text

DATA LOADの設定と実⾏ 37 ステップ1 • テーブル名を 「FRUITUNPIVOT」で⼊⼒ ステップ2 • 列のデータタイプと ⻑さを定義 ステップ3 • 「Close」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 ステップ4 • 実⾏アイコンをクリックし、CSVデータ をADWのテーブルにロード

Slide 38

Slide 38 text

ステップ1 • 「作成」をクリック Oracle Analytics Cloudホーム画⾯ 38 ステップ2 • 「接続」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 39

Slide 39 text

ステップ1 • 「Oracle Autonomous Data Warehouse Cloud」を クリック ADWデータソースの接続画⾯ 39 ステップ2 • 接続情報を⼊⼒ 接続名 1 Walletファイルのtnsnames.oraにある service_name 2 3 Walletのzipファイル 4 ADWのユーザー名 5 ユーザーのパスワード ステップ3 • 「保存」をクリック • 「接続が正常に作成されま した」を確認 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 40

Slide 40 text

ステップ1 • 「作成」をクリック • 「データ・セット」をクリック データ・セットの作成 40 ステップ2 • 接続「TestADW」を 選択 ステップ3 • 「ADMIN」を選択 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 41

Slide 41 text

ステップ1 • 「FRUITUNPIVOT」を クリック データ・セットの作成(続き) 41 ステップ4 • 「FRUIT_UNPIVOT」を ⼊⼒ • 「OK」をクリック • データ・セット 「FRUIT_UNPIVOT」 を 作成 ステップ2 • 「名前をつけて保存」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 42

Slide 42 text

ステップ4 • 「保存」をクリック OCI環境の接続を作成 42 ステップ1 • 「接続」をクリック ステップ2 • 「Oracle OCI Resource」をクリック ステップ3 • 接続の情報を⼊⼒ 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 接続名 1 ⽣成したAPIキーをコピーし、ユーザーに 設定 2 3 ファンクション所属のリージョンを選択 4 ファンクション所属のテナンシOCID 5 ファンクションにアクセスするユーザーのOCID

Slide 43

Slide 43 text

OCI環境接続の情報源、ファンクションのテナンシでの作業 43 ステップ1 • 「テナンシ」をクリック • 「ユーザー設定」をクリック ステップ2 • テナンシOCID右の「コピー」をクリックし、OCID をOCI環境の接続に設定 • ユーザー情報のOCID右の「コピー」をクリックし、 OCIDをOCI環境の接続に設定 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 ステップ3 • OACで⽣成したAPIキーをコピーし、「APIキー の追加」をクリックして、追加

Slide 44

Slide 44 text

OCI関数登録 44 ステップ1 • 「モデル/関数の登録」をクリック • 「OCI関数」をクリック ステップ2 • Oracle OCIリソース接続の 「Test Function」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 ステップ3 • ファンクションの所属したコンパートメント 「OACdeploy」をクリック

Slide 45

Slide 45 text

OCI関数登録(続き) 45 ステップ1 • ファンクション 「assosiation_rules」をクリック ステップ2 • ファンクションの情報が右に 表⽰され、「登録」ボタンを クリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 46

Slide 46 text

OCI関数登録(続き) 46 ステップ1 • 「機械学習」の スクリプトで登 録したファンク ションを確認 ステップ2 • ファンクション 「assosiation_rules」の 「検査」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 ステップ3 • ファンクションのそれ ぞれの詳細情報が 正しいことを確認

Slide 47

Slide 47 text

OACデータ・フローでファンクションを適⽤し、アソシエーション分析を実⾏ 47 ステップ1 • 「データ・フロー」をクリック ステップ2 • データセット「FRUIT_UNPIVOT」を選択し、 「追加」をクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 48

Slide 48 text

OACデータ・フローでファンクションを適⽤し、アソシエーション分析を実⾏(続き) 48 ステップ1 • データセットの「⊕」をクリック • 「カスタム・スクリプトの適⽤」をクリック ステップ2 • 「assosiation_rules」をクリックし、 「OK」ボタンをクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 49

Slide 49 text

OACデータ・フローでファンクションを適⽤し、アソシエーション分析を実⾏(続き) 49 ステップ1 • 「列の選択」をクリックし、 ファンクションのパラメータ の列を選択 ステップ2 • ファンクションのパラメータは 選択済み 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 50

Slide 50 text

OACデータ・フローでファンクションを適⽤し、アソシエーション分析を実⾏(続き) 50 ステップ1 • カスタム・スクリプトの「⊕」をクリック • 「データの保存」をクリックし、分析の結果をデータセット として保存 ステップ2 • 「Top Association Rules」をデータセットに⼊⼒ • データ保存先の「データベース接続」を選択 • 接続に「TestADW」を選択 • 「TopAssociationRules」を表に⼊⼒し、ADWのテーブル名を設定 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 51

Slide 51 text

OACデータ・フローを実⾏ 51 ステップ1 • 「データ・フローの実⾏」 アイコンをクリック ステップ2 • 「AssociationRules」をデータ フロー名として⼊⼒ • 「保存と実⾏」ボタンをクリック 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作 ステップ3 • データセット画⾯で、データフローの実⾏結果「Top Association Rules」が表⽰されたことを確認

Slide 52

Slide 52 text

ADWCに接続 データの準備 可視化操作 共有 ステップ2 • 「プロジェクト」をクリック プロジェクトの作成画⾯ 52 ステップ1 • 「ナビゲータ」をクリック ステップ3 • 「作成」をクリック ステップ4 • 「プロジェクト」をクリック

Slide 53

Slide 53 text

データ・セットの追加画⾯ 53 ステップ1 • 「Top Association Rules」をクリック • 「FRUIT_UNPIVOT」をク リック ステップ2 • 「プロジェクトに追加」 をクリック ステップ3 • データ・セットがプロジェクトに追加されて いるのを確認 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 54

Slide 54 text

A マーク︓属性形式 # マーク︓数値形式 (補⾜説明)データ可視化の準備 「マイ計算」では関数を利⽤して、 新たなデータ項⽬を作成可能 アプリ上部に表⽰される フィールドを切り替えて利⽤ 準備フィールド︓ データの準備 ビジュアル化︓ 分析を作成・編集・保存 解説︓ グループメンバーと共有 「データ要素」タブ︓ データ・ソースのデータ項⽬の状況確認・編 集 ※ドラッグ&ドロップ操作可 「ビジュアライゼーション」タブ︓ チャートの種類 ※ドラッグ&ドロップ操作可 「分析」タブ︓ Advanced Analyticsを利⽤し統計解 析 ※ドラッグ&ドロップ操作可 54 データの接続で作成される データ・セット

Slide 55

Slide 55 text

ステップ1 • 「TRANSACTION_ID」をクリックし、 Shiftキーを押しながら 「NUM_SALES」をクリック • 右クリックで「ビジュアライゼーションの 選択」 • 「表」を選択しクリック ビジュアライゼーションの作成 55 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 56

Slide 56 text

ステップ1 ・表枠内右上に表⽰されているメニューを「ビジュアルのコ ピー」をクリック ・再度、同じメニューをクリック「ビジュアルの貼付け」をク リック ステップ2 ・「保存」をクリック ・名前の下に「アソシエーション分析ハンズオン」と⼊⼒ ・「保存」をクリック ・「プロジェクトは正常に保存されました」というサインが出 るのを確認 ※こまめに「保存」で上書き保存しましょう ビジュアライゼーションの保存 56 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 57

Slide 57 text

ステップ1 ・「表」を「ドーナツ」に変更 ビジュアライゼーションの作成 57 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 58

Slide 58 text

ビジュアライゼーションの作成 ステップ1 ・値(スライス)に「NUM_SALES」をドラッグ&ドロップ ・⾊に「KEY_NAME」のカラムをドラッグ&ドロップ ・カテゴリの「TRANSACTION_ID」はデータ項⽬の右上に表⽰される×を クリック 58 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 59

Slide 59 text

ステップ1 ・「KEY_NAME」Shift「NUM_SALES」をドーナツチャートの下に ドラッグ・アンド・ドロップ ビジュアライゼーションの作成 59 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 60

Slide 60 text

ステップ1 ・新たにできたチャートタイプを「タグク ラウド」に変更 ビジュアライゼーションの作成 60 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 61

Slide 61 text

ステップ1 ・「KEY_NAME」のカラムを⾊ のフィールドにドロップしカラフル なタグクラウドにする ステップ2 ・「マイ計算」を右ク リック ・計算の追加をク リック ビジュアライゼーションの作成 61 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 62

Slide 62 text

ステップ1 ・新規計算の名前「件数」と⼊⼒ ・式に「count」と⼊⼒ ・(列)をクリックし、カッコ内にTRANSACTION_IDを選択 ステップ2 ・「検証」をクリックし「計算が検証されました」と表⽰されたら 「保存」をクリック マイ計算は関数を⽤いて新たなカラムを作る際に利⽤します。 このCount関数で、属性データのデータ項⽬の件数をカウン トできるようになります マイ計算項⽬の作成 62 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 63

Slide 63 text

ステップ1 ・新たに作成した件数のカラムをフィールドにドラッグ&ドロップ ・表タイプを「タイル」に変更 マイ計算を使ったビジュアライゼーションの作成 63 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 64

Slide 64 text

ステップ1 ・売れ⾏きが⼀番良い「BANANA」をクリック ・別の表がクリックした項⽬に連動しているのを確認 ・選択しながら右クリックで「選択項⽬の保持」を選択 ビジュアライゼーション条件の絞込 64 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 65

Slide 65 text

ビジュアライゼーション条件の絞込 65 ステップ1 ・条件の絞込が全体のオブジェクトに対して有効 になっているのを確認 ※個別のオブジェクトにフィルタを掛けるときは、下 図のフィルタに条件を⼊⼒ ステップ2 ・キャンバス1のタブを右ク リックし「名前の変更」で 「Data Visualization」と ⼊⼒ ・+をクリックして新たな フィールドを作成 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 66

Slide 66 text

ステップ1 ・データ・セットで作成された項⽬ を確認 ステップ2 ・作成した項⽬を元に表を作 成 ・⾊フィールドのプロパティで 変更も可能 アソシエーション分析(表の作成) 66 ステップ3 ・タブを右クリック「名前を変更」で 「表」と記⼊ ・+で新規フィールドを作成 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 67

Slide 67 text

アソシエーション分析(表の作成) ステップ1 ・Supportの値が「0.00」で表 ⽰する項⽬があるため、⼩数の 桁数を変更 ・「⾃動」をクリック ステップ3 ・少数を「0.001」に 変更 ステップ3 ・Supportに数値が「0.001」まで表⽰ するのを確認 67 ステップ2 ・数値を選択 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 68

Slide 68 text

ステップ1 ・値(スライス)フィールドに「Support」のカラム ・⾊フィールドに「Top Association Rule」を配置 ・ドーナツ型のチャートタイプを選択 ・同様にして「Confidence」はツリーマップで作成 ・同様にして「Lift」はレーダー折れ線で作成 アソシエーション分析(チャートの作成) 68 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 69

Slide 69 text

ステップ1 ・Supportチャートの「⼀般」から「⾃動」をクリックし「タイトル」をカスタムに変更。フィールドに「サポート値」と ⼊⼒ ・同様にしてConfidenceチャートも名前を変更「コンフィデンス値」と⼊⼒ ・同様にしてLiftチャートの名前を変更「リフト値」と⼊⼒ ステップ2 ・タブの名前を「チャート」に変更 ・新規のページを作成 アソシエーション分析(ビジュアライゼーション名前の変更) 69 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 70

Slide 70 text

ステップ1 ・サポート値、コンフィデンス値、リフト値が全て⼀つの チャートで確認できる散布図を確認 ・添付のようにデータ項⽬を配置 ステップ2 ・キャンパス4のタブの名前を「散布図」に変更 アソシエーション分析(散布図の作成) 70 分析データ準備 ADWに接続 ファンクションでのアソシエーション分析 可視化操作

Slide 71

Slide 71 text

5. まとめ

Slide 72

Slide 72 text

5. まとめ アソシエーション分析 • 3つの評価指標 • 「Apriori」アルゴリズム • 「Oracle Analytics Cloud」での分析には「Oracle Functions」と連携 • 「Autonomous Data Warehouse」と連携で分析 • ADWを使わず、OACだけでの分析にも可能 • ローカルの環境でファンクションのDebugを⾏うことが必要 • ファンクションに問題があるときに修正したスクリプトをデータ・フローで再適⽤するこ とが必要 72

Slide 73

Slide 73 text

5. まとめ 73 機械学習製品 アジャイル性 パフォーマンス Auto ML オープンソース対応 参考 Oracle Analytics Cloudの内蔵機能 ◉ ◎ ー ー OACのデータフローとシナリオの作成で利⽤。モデルのチューニング⽅法が 他の製品より少なく、⼩規模データ量に対すファスト機械学習に適⽤ Autonomous Data Warehouse ◎ ◉ ◉ ー ADWで作成したモデルをOACにインポートしてOACのデータフローで利⽤。 スクリプト作成が必要だが、データベースのリソースで機械学習を⾏うと OMLのAuto機械学習機能が使⽤するため、⼤量データの複雑な機械 学習に適⽤ Data Science Cloud ◎ ◉ ◉ ◉ Data Scienceで学習結果のデータを出⼒し、OACでデータセットとして 利⽤。スクリプト作成が必要だが、オープンソースパッケージの拡張が簡単 であるため、AIと⾃然⾔語処理などの対応が可能。またCPU・GPUの数 も柔軟に設定できて、Pythonとオープンソース機械学習パッケージに上 ⼿なデータサイエンティストに適⽤ Oracle Functions ◎ ◎ ー ◉ カスタムスクリプトとしてOACに登録し、OACのデータフローで利⽤。機械 学習だけではなく、形態素解析やテキスト処理などを全部対応することが 可能。CSVの中間ファイルがOACと通信する必要があるため、⼤量データ の処理に対してパフォーマンス問題が発⽣する可能性があるが、 Instanceの作成が不要であるため、ディプロイの便利性が良くて、オープ ンソースパッケージでの少ないデータ量の機械学習を⾏う場合に適⽤ オラクル機械学習製品の特徴⽐較︓

Slide 74

Slide 74 text

参考資料 Oracle Analytics Cloud(⽇本語) https://docs.oracle.com/cd/E83857_01/paas/analytics-cloud/index.html Autonomous Data Warehouse(英語) https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/index.html Register and Use Oracle Cloud Infrastructure Functions in Data Flows(英語) https://docs.oracle.com/en/cloud/paas/analytics-cloud/acubi/register-and-use-oci- functions-data-flows.html AutoML UI in Autonomous Data Warehouse(英語) https://docs.oracle.com/en/database/oracle/machine-learning/oml-automl- ui/amlui/accessing-automl-ui.html Oracle Data Science Cloud(英語) https://docs.cloud.oracle.com/en-us/iaas/data-science/using/deploy-models.htm

Slide 75

Slide 75 text

No content