Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データバリデーションによるFeature Storeデータ品質の担保
Search
Yudai Hayashi
April 25, 2025
Technology
1
200
データバリデーションによるFeature Storeデータ品質の担保
めぐろLT #26 「データエンジニアリングよもやま」で発表した内容です
https://meguro-lt.connpass.com/event/347477/
Yudai Hayashi
April 25, 2025
Tweet
Share
More Decks by Yudai Hayashi
See All by Yudai Hayashi
ジョブマッチングプラットフォームにおける推薦アルゴリズムの活用事例
yudai00
0
49
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
640
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
1.2k
人とシゴトのマッチングを実現するための機械学習技術
yudai00
1
55
MCPを理解する
yudai00
17
12k
「仮説行動」で学んだ、仮説を深め ていくための方法
yudai00
8
1.9k
相互推薦システムでのPseudo Label を活用したマッチ予測精度向上の取り組み
yudai00
1
930
Wantedly Visitにおけるフリーワード検索時の推薦のオンライン化事例紹介
yudai00
1
310
RustとPyTorchで作る推論サーバー
yudai00
12
7.4k
Other Decks in Technology
See All in Technology
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
160
品質保証の取り組みを広げる仕組みづくり〜スキルの移譲と自律を支える実践知〜
tarappo
1
150
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
1
170
ソフトウェア品質を支える テストとレビュー再考 / 吉澤 智美さん
findy_eventslides
1
440
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
250
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
520
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
9
1.6k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
280
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
28
19k
30分でわかる!!『OCI で学ぶクラウドネイティブ実践 X 理論ガイド』
oracle4engineer
PRO
1
120
AIの個性を理解し、指揮する
shoota
3
650
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
280
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.9k
Building Adaptive Systems
keathley
44
2.8k
Scaling GitHub
holman
463
140k
Thoughts on Productivity
jonyablonski
72
4.9k
Building Applications with DynamoDB
mza
96
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Unsuck your backbone
ammeep
671
58k
Code Review Best Practice
trishagee
72
19k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Designing Experiences People Love
moore
142
24k
Designing for Performance
lara
610
69k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Transcript
© 2025 Wantedly, Inc. データバリデーションによるFeature Storeデータ品質の担保 めぐろLT #26 「データエンジニアリングよもやま」 Apr.
25 2025 - Yudai Hayashi
© 2025 Wantedly, Inc. 自己紹介 林 悠大 • 経歴: ◦
2022年に応用物理分野で Ph.D取得 ◦ 2022年にウォンテッドリー株式会社に新卒入社。データサイ エンティストとして推薦システムの開発に従事 @python_walker @Hayashi-Yudai
© 2025 Wantedly, Inc. 今日話すこと • 我々が管理している Feature Storeでのデータ品質担保の取り組みについて紹介 •
Table-to-Tableで特徴量を作成する際には、バリデーションが通っていないデータが最終テーブルに一 時的にでも存在しないことを担保することが重要
© 2025 Wantedly, Inc. 背景 - Feature Storeを自作して機械学習モデルに利用 • 各種特徴量を定期計算して
BigQueryに テーブルを作成する仕組み ◦ PythonFeature: Pythonを使っ て計算する特徴量 ◦ SQLFeature: SQLだけで計算す る特徴量 • 計算した特徴量は複数の機械学習シス テムで利用
© 2025 Wantedly, Inc. 課題 - 計算した特徴量が意図通りになっていなくても気づけない状態になっていた • 特徴量が「意図通りになっていない」とは? ◦
欠損するはずがないフィールドに欠損がある ◦ 全く同じデータが複数回出現する ◦ … • 意図通りになっていないと何がまずいか ◦ 人為的な特徴量のノイズにより、特徴量を学習に利用した機械学習モデルの性能が劣化する (garbage-in-garbage-out) 特徴量を作る際に十分なバリデーションをかけることが重要 ただし、SQLFeatureはBQ上で処理が完結するので、バリデーション方法を工夫する必要 がある
© 2025 Wantedly, Inc. 解決策 - 中間テーブルを作成してバリデーションを行う 要求:バリデーションを通っていないテーブルが存在しない • 中間テーブルを作成してからバリデーションをか
ける。通ったら最終テーブルにコピー • 特徴量の情報はYAMLで管理しており、そこから keyカラムを読み取る ◦ 特徴量計算するクエリを書くときはバリ デーションのことを考えなくてよい
© 2025 Wantedly, Inc. まとめ • 我々が管理している Feature Storeでのデータ品質担保の取り組みについて紹介 •
SQLだけで計算する特徴量においてバリデーションを行うために、一時テーブルを作成してバリデーション を行った後、最終テーブルにコピーするという方策を取った ◦ バリデーションを通っていないデータが最終テーブルに存在しないことを担保 ◦ バリデーションロジックを特徴量計算から切り離すことで、新しい特徴量を追加する時でも設定し忘 れるリスクを回避