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
推薦データ分析コンペに参加して得た知見
Search
Yudai Hayashi
January 10, 2024
Programming
2
350
推薦データ分析コンペに参加して得た知見
AIミーティング(2024/01/10)での登壇資料
Yudai Hayashi
January 10, 2024
Tweet
Share
More Decks by Yudai Hayashi
See All by Yudai Hayashi
BigQueryで作る簡単なFeature Store
yudai00
2
150
プロダクトのコードをPandasからPolarsへ書き換えた話
yudai00
7
2.2k
データサイエンティストになって得た学び
yudai00
1
61
社内での継続的な機械学習勉強会の開催のコツ
yudai00
2
590
会社訪問アプリ「Wantedly Visit」における新規ユーザーの行動量に基づいた推薦方策の選択
yudai00
0
1.2k
Polarsを活用した機械学習ジョブの高速化
yudai00
1
140
Voyagerを利用した宿画像の最近傍探索による候補生成
yudai00
1
150
論文紹介:Unbiased Delayed Feedback Label Correction for Conversion Rate Prediction
yudai00
0
250
機械学習プロジェクトでのPythonアップデートの難しさと得られた知見
yudai00
3
270
Other Decks in Programming
See All in Programming
Appleの新しいプライバシー要件対応: ノーコードアプリ プラットフォームの実践事例
nao_randd
1
450
Rustではじめる負荷試験
skanehira
5
1.1k
Web技術を駆使してユーザーの画面を「録画」する
yukukotani
13
6.2k
暴走のウホーレン 〜想いってのはvimrcにしないと伝わらないんだぜ〜 / iosdc_japan_2024
uhooi
1
240
iOSの隠されたAPIを解明し、開発効率を向上させる方法/iOSDC24
noppefoxwolf
2
120
TypeScriptで 負荷テストを書こう 〜k6のシングルバイナリの秘密〜
dora1998
7
2.8k
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
130
令和トラベルにおけるLLM活用事例:社内ツール開発から得た学びと実践
ippo012
0
110
Regular Expressions, REXML, Automata Learning
makenowjust
0
180
複雑さに立ち向かうための ソフトウェア開発入門
shiz
2
580
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
200
現代のVueとTypeScript - 型安全の活用術
minako__ph
4
3.1k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
294
20k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Side Projects
sachag
451
42k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
For a Future-Friendly Web
brad_frost
173
9.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
400
65k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
RailsConf 2023
tenderlove
26
790
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Transcript
© 2024 Wantedly, Inc. 推薦データ分析コンペに参加して得 た知見 AIミーティング 2024/01/10 Jan. 10
2024 - Yudai Hayashi
© 2024 Wantedly, Inc. INTERNAL ONLY 自己紹介 林 悠大 • 経歴:
◦ 東京大学工学系研究科でPh.D取得 ◦ 2022年にウォンテッドリーにデータサイ エンティストとして新卒入社。推薦シス テムの開発を行う • X: @python_walker • 趣味: ◦ 読書 ◦ 音楽聴くこと ◦ ウイスキー
© 2024 Wantedly, Inc. INTERNAL ONLY 今日話すこと • データ分析コンペって何? •
どんなコンペに参加した? • 参加することでどんな知見を得られた?
© 2024 Wantedly, Inc. INTERNAL ONLY データ分析コンペとは • 与えられた課題に対して精度の高いモデルを構築して競うコンペ •
有名なものだとKaggleやatma, signateなど • なぜ参加するのか ◦ 普段の業務にとらわれない幅広い知識を学べる ◦ 新しいことを試せる
© 2024 Wantedly, Inc. INTERNAL ONLY 今回参加したコンペ • atmaで開催されたコンペ •
期間は一週間 • テーマはじゃらんのセッションデータを用いた予約される宿の予測 • 評価指標はMAP@10 https://www.guruguru.science/competitions/22
© 2024 Wantedly, Inc. INTERNAL ONLY 与えられたデータ • セッション情報 ◦
どの順番でどの宿を見たか • 宿の情報 ◦ 所在地 (地方、都道府県などがエンコード) ◦ 宿の部屋数 ◦ 立地の情報 (駅が近い、コンビニが近い、、、) ◦ 宿の画像のembedding ◦ … • データの難しかったところ ◦ 長さが1のセッションが大量にあった
© 2024 Wantedly, Inc. INTERNAL ONLY おおまかな方針 • 宿は1.4万件くらい、セッションは40万個あるので全組み合わせ(56億通り!)で推 論すると計算にかなりの時間がかかるし非効率
• 候補の絞り込み + 並び替えの2-stage構成でモデルを構築 ◦ 候補生成:予約されそうな宿をざっくり取ってくる ◦ リランキング:候補を予測される確率が高い順に並び替える 宿全体 Top-10 Candidate Generator Re-ranker
© 2024 Wantedly, Inc. INTERNAL ONLY 候補生成の方法 複数の手法を組み合わせて、予約されそうな宿の集合を構築する • セッション中に出現する宿
• 見ている宿とよく一緒に見られている 宿 • 見ている宿の次に見られていることが 多い宿 上位解法で使われていた手法 • グラフ構造を使った生成 ◦ ProNE ◦ 共起グラフからクラスタ係数や ホップ数を計算
© 2024 Wantedly, Inc. INTERNAL ONLY リランキングの方法 LightGBMでbinary classificationタスクとして解いた •
セッションの情報 ◦ どの地域の宿を見ている? ◦ どんな条件で宿を見ている? • 宿の情報 ◦ どこにある? ◦ どんな立地? • 候補生成で使った特徴量 ◦ セッションで見られていた宿とどれくらい一緒に見られている? 上位解法で使われていた手法 • セッションの長さが1のものに対しては遷移確率を使ったルールベース手法 • train/testでのデータの傾向変化に影響を受けづらい特徴量設計
© 2024 Wantedly, Inc. INTERNAL ONLY まとめ • 業務とは異なるドメインのデータを使えることで得られた学びは多かった •
他の参加者の挙げたディスカッションを通して色々なデータの見方を学べた ◦ train/testでデータ分布が変わっている ◦ セッションで見ている地域と予約した地域が異なるときの考察 ◦ etc.