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
190
データバリデーションによる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
38
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
630
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
1.1k
人とシゴトのマッチングを実現するための機械学習技術
yudai00
1
48
MCPを理解する
yudai00
17
12k
「仮説行動」で学んだ、仮説を深め ていくための方法
yudai00
8
1.9k
相互推薦システムでのPseudo Label を活用したマッチ予測精度向上の取り組み
yudai00
1
910
Wantedly Visitにおけるフリーワード検索時の推薦のオンライン化事例紹介
yudai00
1
290
RustとPyTorchで作る推論サーバー
yudai00
12
7.3k
Other Decks in Technology
See All in Technology
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
110
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則
morihirok
17
6.8k
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
110
pprof vs runtime/trace (FlightRecorder)
task4233
0
140
Trust as Infrastructure
bcantrill
0
260
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
110
#普通の文系サラリーマンチャレンジ 自分でアプリ開発と電子工作を続けたら人生が変わった
tatsuya1970
0
890
入門 FormObject / An Introduction to FormObject #kaigionrails
expajp
2
1.7k
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
780
about #74462 go/token#FileSet
tomtwinkle
1
270
Deep Research と NotebookLM を使い倒す!レガシーリプレイスの技術選定と学習コスト削減術
tet0h
0
2.8k
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.7k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.2k
4 Signs Your Business is Dying
shpigford
185
22k
How GitHub (no longer) Works
holman
315
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLとの向き合い方2022年版
quramy
49
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Being A Developer After 40
akosma
90
590k
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だけで計算する特徴量においてバリデーションを行うために、一時テーブルを作成してバリデーション を行った後、最終テーブルにコピーするという方策を取った ◦ バリデーションを通っていないデータが最終テーブルに存在しないことを担保 ◦ バリデーションロジックを特徴量計算から切り離すことで、新しい特徴量を追加する時でも設定し忘 れるリスクを回避