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
atmaCup #16 in collaboration with RECRUIT 2nd p...
Search
senkin13
January 20, 2024
370
1
Share
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
2.8k
kanto_kaggler_senkin13
senkin13
1
2.8k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Facilitating Awesome Meetings
lara
57
6.8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Pragmatic Product Professional
lauravandoore
37
7.2k
How GitHub (no longer) Works
holman
316
150k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
Why Our Code Smells
bkeepers
PRO
340
58k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
480
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)