Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
atmaCup #16 in collaboration with RECRUIT 2nd p...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
senkin13
January 20, 2024
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
atmaCup #16 in collaboration with RECRUIT 2nd place solution
senkin13
January 20, 2024
More Decks by senkin13
See All by senkin13
kansai-kaggler-senkin13.pdf
senkin13
3
3k
kanto_kaggler_senkin13
senkin13
1
2.9k
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Scaling GitHub
holman
464
140k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Marketing to machines
jonoalderson
1
5.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
atmaCup #16 in collaboration with RECRUIT 2nd Place Solution senkin13
None
None
None
None
None
None
None
課題1:データドリフト Train Test • trainとtestの出現した宿数の分布が異なる(時系列の変化) • trainの一番出現した3338がtestの中に出現回数ランクが 135
対策:データドリフト • trainの候補生成用のデータは train_log+test_log • testの候補生成用のデータは train_log+15倍test_log(15倍>8倍>5倍 >3倍>2倍>1倍)、test_logを増やすとtestの中に出現した宿の重みを増 やす(LB: 0.0025+)
• 特徴量がtrainとtestそれぞれminmaxscalerで正規化(LB: 0.0007+)
課題2:Unseenデータ • trainしか出現しない宿が2339個 • testしか出現しない宿が190個
対策:Unseenデータ • 後処理で予測値の中に train しか出現した宿を削除 (LB: 0.0002+) • Matrix factorizationの一種で
あるBayesian Personalized Ranking (BPR) • 文章から単語の分散表現を獲 得するWord2Vecをレコメンドシ ステムに適用した技術の Item2Vec • ユーザノードとアイテムノードか らなる2部Graph NeuralNetwork の一種であるProNE
課題3:session数1の宿が多い Train Test • Session数1の宿が全体44%以上、ほぼ全体精度を支配する • 共起の宿がすくない
対策:session数1の宿が多い • すでにsessionに出現したyad(rule-baseline PLB: 0.3031) • yad-yad 共起表現(PLB: 0.4418) •
yad-yad-yad共起表現(PLB: 0.4441) • sml_cd-yad 共起表現(PLB: 0.4442) • bpr(Bayesian Personalized Ranking)(PLB: 0.4442+)
課題4:session数1の宿->Label遷移がユニーク • foldごと別のfoldのlabelを候補とし ていれたら、精度が落ちる
対策:session数1の宿->Label遷移がユニーク • trainの候補生成用のデータは train_log+test_log • testの候補生成用のデータは train_log+15倍test_log+train_label(out of folder)(LB: 0.0002+)
Model & Ensemble • lightgbm ranker 三つ(候補max50,75,100の三つ, best single model
PLB0.4455くらい • catboost ranker 三つ(候補max50,75,100の三つ) • rule-base + 3lightgbm + 3catboost • rank weighted average(PLB: 0.4458)