PolarsとPanderaで実現する高速でロバストなデータ処理
by
chimuichimu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
PolarsとPanderaで実現する 高速でロバストなデータ処理 みんなのPython勉強会 #102 Mar. 28 2024 - Chiaki Ichimura © 2024 Wantedly, Inc.
Slide 2
Slide 2 text
自己紹介 市村千晃 ● 経歴 ○ SE, PM, DS@SIer(2017/4 ~ 2024/2) ○ DS@ウォンテッドリー株式会社(2024/3~) ● 興味 ○ データ分析・機械学習 ○ 推薦システム © 2024 Wantedly, Inc. @chimuichimu1
Slide 3
Slide 3 text
データ分析・機械学習のフロー © 2024 Wantedly, Inc. データ処理 データ準備 分析 価値提供 評価
Slide 4
Slide 4 text
データ分析・機械学習のフロー © 2024 Wantedly, Inc. データ処理 データ準備 分析 価値提供 評価
Slide 5
Slide 5 text
データ処理における課題 ● 実行時間 ○ 処理に時間がかかり、分析のサイクルを回すボトルネックに ● データ品質 ○ 想定外のデータや意図しない処理が、誤った分析やモデルの性能劣 化につながる ● 可読性 ○ データの内容をコードから読み取るのが難しく、処理がブラックボック ス化しがち © 2024 Wantedly, Inc.
Slide 6
Slide 6 text
やりたいこと データ処理を 高速かつロバストに実行したい © 2024 Wantedly, Inc.
Slide 7
Slide 7 text
やりたいこと データ処理を 高速かつロバストに実行したい © 2024 Wantedly, Inc. Polars Pandera
Slide 8
Slide 8 text
Polarsとは? ● Rustで実装されたテーブルデータ処理用のライブラリ ● 並列処理や遅延評価の仕組みにより高速なデータ処理を実現 © 2024 Wantedly, Inc. https://github.com/pola-rs/polars
Slide 9
Slide 9 text
Polarsってどれくらい早いの? © 2024 Wantedly, Inc. https://pola.rs/posts/benchmarks/
Slide 10
Slide 10 text
Polarsってどれくらい早いの? © 2024 Wantedly, Inc. https://pola.rs/posts/benchmarks/ Pandasが21秒かかる処理(※)を Polarsは1秒未満で実行 ※ファイル読み込み -> 結合 -> フィルタ -> 演算 -> 集約 -> ソート
Slide 11
Slide 11 text
Panderaとは? ● テーブルデータに対するバリデーション機能を提供するライブラリ ● 2024/3のリリースでPolarsのサポートを開始(注:現時点ではベータ版) © 2024 Wantedly, Inc. https://pandera--1373.org.readthedocs.build/en/1373/polars.html#polars
Slide 12
Slide 12 text
Panderaとは? © 2024 Wantedly, Inc. データが満たすべき性質を スキーマとしてコードに定義 (型、最大値、最小値、非null…) データがスキーマを満たすかを チェック 基本的な使い方 https://pandera--1373.org.readthedocs.build/en/1373/polars.html#polars
Slide 13
Slide 13 text
Panderaを使うメリット © 2024 Wantedly, Inc. 不正な値が入力されると エラーが発生 データ品質の担保 SchemaError: Column 'price' failed validator number 0: failure cases: shape: (1, 1) 想定外のデータや 意図しない処理に気づける🙆
Slide 14
Slide 14 text
Panderaを使うメリット © 2024 Wantedly, Inc. 可読性の向上 どんなデータが入出力されるか?を コードから読み取れる🙆 データが満たすべき性質を スキーマとしてコードに定義
Slide 15
Slide 15 text
データ処理における課題 まとめ © 2024 Wantedly, Inc. 実行時間 データ品質 可読性 Polarsによる データ処理 高速かつロバストなデータ処理を実現 Panderaによる スキーマ定義とバリデーション