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
270
1
Share
データバリデーションによるFeature Storeデータ品質の担保
めぐろLT #26 「データエンジニアリングよもやま」で発表した内容です
https://meguro-lt.connpass.com/event/347477/
Yudai Hayashi
April 25, 2025
More Decks by Yudai Hayashi
See All by Yudai Hayashi
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
4
360
Off-Policy Evaluation and Learning for Matching Markets
yudai00
0
140
ジョブマッチングプラットフォームにおける推薦アルゴリズムの活用事例
yudai00
0
140
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
730
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
1.3k
人とシゴトのマッチングを実現するための機械学習技術
yudai00
1
110
MCPを理解する
yudai00
18
15k
「仮説行動」で学んだ、仮説を深め ていくための方法
yudai00
8
2.1k
相互推薦システムでのPseudo Label を活用したマッチ予測精度向上の取り組み
yudai00
1
1.1k
Other Decks in Technology
See All in Technology
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
Generative UI × A2UI で AI エージェントを作った話 AI-DLC も使ってみた!
kmiya84377
1
230
NFLコンペ2026 解法
lycorptech_jp
PRO
0
120
LLM時代のリファクタリング戦略_AIエージェントによる段階的・安全なTS移行方法
play_inc
0
190
Claude Codeですべての日常業務を爆速化しよう!
minorun365
PRO
16
14k
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて
hal_spidernight
1
210
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
13
6.9k
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
360
組織の中で自分を経営する技術
shoota
0
160
eBPF Can Do It! A 5-Minute Tour of 5 Real-World PHP Issues Solved with eBPF
egmc
0
280
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
200
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
120
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
KATA
mclloyd
PRO
35
15k
Facilitating Awesome Meetings
lara
57
6.9k
Technical Leadership for Architectural Decision Making
baasie
3
380
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
360
Building an army of robots
kneath
306
46k
How to make the Groovebox
asonas
2
2.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
360
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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だけで計算する特徴量においてバリデーションを行うために、一時テーブルを作成してバリデーション を行った後、最終テーブルにコピーするという方策を取った ◦ バリデーションを通っていないデータが最終テーブルに存在しないことを担保 ◦ バリデーションロジックを特徴量計算から切り離すことで、新しい特徴量を追加する時でも設定し忘 れるリスクを回避