Slide 1

Slide 1 text

SageMaker DataWranglerで ノンコードデータ前処理を試してみた JAWS-UG名古屋 データ分析を学ぶ 2021-05-31 MON AKIHIRO HORIKAWA 1

Slide 2

Slide 2 text

自己紹介 名前: Akihiro Horikawa 所属: 総合エネルギー会社の技術研究所 仕事: 社内のデータ分析(主にアセスメントとマネージメント) 資格: ・JDLA G検定 2018#2 ・データ分析実務スキル検定 PM級 コミュニティ:・機械学習名古屋 ・JAWS-UG名古屋 ・中部Tableauユーザ会 ・DataRobotコミュニティ 趣味: 子供、データサイエンス、ゲーム、漫画 2

Slide 3

Slide 3 text

はじめに 3 ⚫ SageMakerStudioに搭載されている、ノンコードデー タ前処理ツール?『SageMaker DataWrangler』 の操作デモになります ⚫ 本LTは、2021年5月31日時点の情報に基づきます ⚫ 本LTの内容にAWS公式と相異があった場合、AWS 公式を正とさせていただきます ⚫ 本LTは登壇者個人の見解であり、誤りが含まれる可 能性があります

Slide 4

Slide 4 text

4 『 前処理が8割 』

Slide 5

Slide 5 text

前処理が8割 ⚫ 可視化やモデリング以前に、生データをまともに分析で きるようにするまでが大変 ⚫ データ分析界隈では耳にタコができるくらいよく聞く話 ⚫ ただ、「前処理」の指す範囲はっきりしない気もする データ収集、整形系の前処理、探索的データ分析(EDA)、 ML準備系の前処理、特徴量エンジニアリング、・・・ 5

Slide 6

Slide 6 text

前処理が8割 ⚫ 『データ民主化』の流れで、ノンコード・GUIベースの データ前処理ツールも、存在感を増してる印象 ➢ Tableau PrepBuilder ➢ Alteryx ➢ DataRobot Prep(旧Paxata) etc ⚫ 学習コストの低さ、作業効率、可読性などにメリット ⚫ でも上記はそれなりのお値段するので、気軽に使える ツールないかなあと思っていた 6

Slide 7

Slide 7 text

7 『 データ ラングリング 』

Slide 8

Slide 8 text

データラングリング 8 ⚫ 「ラングリング」(wrangling)は、馬などを飼いならす、 の意 ⚫ カウボーイ(wrangler)が暴れ馬を乗りこなすように、 データを自在に操るための収集・処理・分析・利用の 総合テクニック 参考:オライリー “Pythonではじめるデータラングリング” https://www.oreilly.co.jp/books/9784873117942/ ⚫ 某AIベンチャーさんが使っていたのではじめて聞いた

Slide 9

Slide 9 text

データラングリング 9 ⚫ AWSから『データラングリング』の名を冠したサービスが 出ました! ⚫ 興味あったけどなかなか試せずにいたので、今回データ 分析の会ということで、使ってみました! Amazon SageMaker ※ 個別のアイコンはないっぽい

Slide 10

Slide 10 text

10 試す内容

Slide 11

Slide 11 text

試す内容 11 ⚫ 普段使っているTableauPrepの基本機能を参考に 作ったお題リスト # 内容 TableauPrepの機能 1 読込み(S3のcsv)、型変更 読込み 2 サンプル、統計量、分布の確認 クリーニング 3 ユニオン ユニオン 4 ジョイン ジョイン 5 不要項目の削除 クリーニング 6 加工項目の追加 クリーニング 7 絞込み(フィルタ) クリーニング 8 集計 集計 9 ピボット ピボット 10 出力(S3のcsv) 出力

Slide 12

Slide 12 text

試す内容 12 ⚫ データ項目、ER ⚫ 前処理の概要 【売上データ : transaction_1, transaction_2】 tansaction_id item_id quantity date delete pivot1 pivot2 item_id item_name item_price 【商品マスタ : master】 1 1..n +ユニオン transaction_2 2000レコード ← master transaction_1 3000レコード ジョイン 項目削除 delete 項目追加 item_price*quantity 絞込み item_name 集計 date(月次) ピボット pivot1,2 transaction_all

Slide 13

Slide 13 text

13 操作デモ

Slide 14

Slide 14 text

操作デモ ⚫ 前置き • SageMakerStudioは起動済で、フローを新しく作るところ から始めます • データは、S3にアップロード済です 14

Slide 15

Slide 15 text

操作デモ ⚫ 補足 • 最後のファイル出力のnotebookの実行は、 SageMakerStudioのクイックスタートで作ったIAMでは権 限が足りず途中でエラーが出ました ⇒ IAMReadOnlyAccessポリシーをアタッチしました 15

Slide 16

Slide 16 text

16 まとめ

Slide 17

Slide 17 text

まとめ 17 ⚫ お題を試した結果 ただ、このお題は、SMDataWrnglerには不利だったように思う (次ページ) # 内容 ノンコードでできたか 1 読込み(S3のcsv)、型変更 できた 2 サンプル、統計量、分布の確認 できた 3 ユニオン できた 4 ジョイン できた 5 不要項目の削除 できた 6 加工項目の追加 できた 7 絞込み(フィルタ) わからなかった 8 集計 わからなかった 9 ピボット わからなかった 10 出力(S3のcsv) できた?

Slide 18

Slide 18 text

まとめ ⚫ 所感 • 今回のお題からは、TableauPrepの代わりは辛そう ➢ ノンコードでできないことがあった ➢ 出力のジョブに約6分弱もかかった(x4largeなのに) ➢ GUIのユーザビリティに差がある • 一方、お題には出てこない機械学習用の前処理機能がある これらは、TableauPrepには無いもの(現時点) ➢ カテゴリのダミー変数化(OneHotエンコーディングなど) ➢ 統計的手法による、外れ値処理・欠損値処理 ➢ 予測精度の味見 etc 18

Slide 19

Slide 19 text

まとめ ⚫ 所感 • おそらく、想定するユースケースが元々違うんだろう ➢ TableauPrep: ビジネスパーソンの可視化分析の前処理 ➢ SMDataWrangler: エンジニアの機械学習の前処理 • SMDataWranglerは、機械学習データパイプラインへの組 み込みや、AWSの他サービスとの連携、といったシーンで強み が期待できるんじゃないか • そう考えると今回はお題がずれてた気がするし、機能もまだま だ把握しきれてないので、もう少し調べてみようかと思う 19

Slide 20

Slide 20 text

まとめ ⚫ おまけ • ところで、わからないこと調べてたら、以下が出てきた 20 AWS Glue DataBrew • あれ? これもノンコードデータ前処理じゃね??

Slide 21

Slide 21 text

21 俺たちの戦いはこれからだ!!

Slide 22

Slide 22 text

22 ご清聴ありがとうございました。