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
340
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.5k
kanto_kaggler_senkin13
senkin13
1
2.6k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
70
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Building an army of robots
kneath
306
46k
Git: the NoSQL Database
bkeepers
PRO
431
66k
GitHub's CSS Performance
jonrohan
1032
460k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Rails Girls Zürich Keynote
gr2m
95
14k
A designer walks into a library…
pauljervisheath
207
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Statistics for Hackers
jakevdp
799
220k
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)