Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Clean Roomsで結合した データを使った機械学習

AWS Clean Roomsで結合した データを使った機械学習

機械学習の社会実装勉強会第24回 (https://machine-learning-workshop.connpass.com/event/285731/) の発表で使用した資料です。

More Decks by 西岡 賢一郎 (Kenichiro Nishioka)

Other Decks in Technology

Transcript

  1. 自己紹介 • 名前: 西岡 賢一郎 ◦ Twitter: @ken_nishi ◦ note:

    西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ◦ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) • 経歴 ◦ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ◦ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ◦ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ◦ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
  2. AWS Clean Roomsの2種類のAnalysis Rule AWS Clean Roomsの分析は2種類 • Aggregation Type

    ◦ COUNT、SUM、AVG関数を用いて統計情報を 任意の次元で集計するクエリーが可能 ◦ セグメント分析、測定、アトリビューション など • List Type ◦ クエリ可能なメンバーのテーブルの重なりの 行レベルのリストを出力するクエリを許可 ◦ データのエンリッチメントやセグメント構築 など
  3. よくある機械学習 • 学習に必要となる変数 ◦ 教師あり学習: 説明変数と目的変数 ◦ 教師なし学習: 説明変数 •

    複数ユーザのデータを用いてモデルを学習 • 学習したモデルを用いて、ユーザ一人ひとりをスコアリング
  4. 今回使用するデモデータ • 2種類のAnalysis Rule ◦ 3rd PartyデータをAggregation Typeで集計しつつ結合 ▪ 3rd

    Partyに保存されている広告インプレッションデータを用いた分析 ◦ 3rd PartyデータをList Typeで結合 ▪ 3rd Partyに保存されているユーザ属性データを用いた分析
  5. Analysis Rule: Aggregation Type • Aggregate functions ◦ 許可する集計関数とその関数を利用できるカラムを指定 ◦

    COUNT, COUNT DISTINCT, SUM, SUM DISTINCT, AVGか ら選択可能 • Join controls ◦ 他のテーブルとINNER JOINするためのキーを設定 (複数 キー指定可能) ◦ JOINで使用するキーはクエリ結果には表示されない ◦ テーブル単体でのクエリ (JOINなしのクエリ) の許可 • Dimension controls (optional) ◦ 集計するためのディメンション (キー) を指定 • Scalar functions ◦ ABS, ROUND, CASTなど13個の関数 (2023/04/29現在) から選択 可能 ◦ 適用可能なスカラー関数を制御 ◦ ディメンション列に適用可能 ◦ 他の関数の上や他の関数内で使用できない • Aggregation constraints ◦ クエリ結果で返す行を制御 ◦ 最小の集計値を設定できる (2以上)
  6. Analysis Rule: List Type • Join controls ◦ 他のテーブルとINNER JOINするためのキーを設定

    (複数キー指定可能) ◦ JOINで使用するキーはクエリ結果には表示されない • List controls ◦ 出力できるカラムを指定 • AggregationのRule Typeに比べて指定する事項は少ない
  7. まとめ • Aggregation TypeとList Typeのどちらでも機械学習に必要な説明変数と目 的変数を生成することは可能 ◦ Aggregation Typeでは集計結果となるため、特徴量が平均化されてしまう ◦

    List Typeでは重複する行はまとめられる ◦ 結合に用いる個人識別子はデータ生成過程で取り除かれてしまう • List Typeを用いれば、個人識別子と対応するカラムを抽出することも可能 (ただし、データを保護するという目的からずれる可能性もある) • 機械学習では、List Typeの方が使いやすい