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
1
330
atmaCup #16 in collaboration with RECRUIT 2nd place solution
senkin13
January 20, 2024
Tweet
Share
More Decks by senkin13
See All by senkin13
kansai-kaggler-senkin13.pdf
senkin13
2
2.3k
kanto_kaggler_senkin13
senkin13
1
2.6k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
69
11k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Docker and Python
trallard
44
3.5k
Balancing Empowerment & Direction
lara
1
430
How GitHub (no longer) Works
holman
314
140k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
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)