Slide 1

Slide 1 text

atmaCup #16 in collaboration with RECRUIT 2nd Place Solution senkin13

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

課題1:データドリフト Train Test ● trainとtestの出現した宿数の分布が異なる(時系列の変化) ● trainの一番出現した3338がtestの中に出現回数ランクが 135

Slide 10

Slide 10 text

対策:データドリフト ● 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+)

Slide 11

Slide 11 text

課題2:Unseenデータ ● trainしか出現しない宿が2339個 ● testしか出現しない宿が190個

Slide 12

Slide 12 text

対策:Unseenデータ ● 後処理で予測値の中に train しか出現した宿を削除 (LB: 0.0002+) ● Matrix factorizationの一種で あるBayesian Personalized Ranking (BPR) ● 文章から単語の分散表現を獲 得するWord2Vecをレコメンドシ ステムに適用した技術の Item2Vec ● ユーザノードとアイテムノードか らなる2部Graph NeuralNetwork の一種であるProNE

Slide 13

Slide 13 text

課題3:session数1の宿が多い Train Test ● Session数1の宿が全体44%以上、ほぼ全体精度を支配する ● 共起の宿がすくない

Slide 14

Slide 14 text

対策: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+)

Slide 15

Slide 15 text

課題4:session数1の宿->Label遷移がユニーク ● foldごと別のfoldのlabelを候補とし ていれたら、精度が落ちる

Slide 16

Slide 16 text

対策:session数1の宿->Label遷移がユニーク ● trainの候補生成用のデータは train_log+test_log ● testの候補生成用のデータは train_log+15倍test_log+train_label(out of folder)(LB: 0.0002+)

Slide 17

Slide 17 text

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)