Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sansan×atmaCup#6 1st place solution

Sansan DSOC
November 16, 2020

Sansan×atmaCup#6 1st place solution

■イベント 
:Sansan×atmaCup #6 solution発表会
https://sansan.connpass.com/event/193901/

■登壇概要
タイトル:Sansan×atmaCup#6 1st place solution
発表者: 
takoi(蛸井) さん

▼Sansan R&D Twitter
https://twitter.com/SansanRandD

Sansan DSOC

November 16, 2020
Tweet

More Decks by Sansan DSOC

Other Decks in Technology

Transcript

  1. 自己紹介 • takoi(蛸井) • Kaggle Master • atmaCup成績 ◦ #1

    3位, #5 1位 • 京都にある会社で働いています
  2. 解法概要 • Feature Engineering ◦ targetを使った特徴量作成 ◦ corporation idのベクトル化 •

    Modeling ◦ 合計63のmodel(LightGBMとMLP)を最終sub用に作成 ◦ stackingしてensemble
  3. 名刺交換データの前処理 • corporation_id1 : 名刺を渡した企業 • corporation_id2 : 名刺を受け取った企業 •

    corporation_id1 : 名刺を交換した企業1 • corporation_id2 : 名刺を交換した企業2   corporation_id1 と corporation_id2 を入れ替えた dataをconcat
  4. corporation_idに関する特徴量2,3(word2vec) • [corporation_id1、corporation_id2]を文章とみなしてword2vecで学習 • embedding sizeが30、50、100、150、200、300、500、768のmodelを作 成 ◦ corporation_idのカテゴリ数が大きいので、embedding sizeを大きくすること

    により表現力が上がると思った ◦ embedding sizeを大きくしたのが優勝につながった(と思います) • 特徴量2:corporation_idごとのembedding • 特徴量3:名刺を交換企業のembeddingのmean
  5. Modeling • CV:StratifiedKFold • 特徴量のセット(合計9)ごとに7つのモデルを作成し、stacking ◦ 特徴量のセット: targetに関する特徴量(共通)                 corporation_idに関する特徴量(embedding

    sizeごと) ◦ LightGBM と MLP * 6(DAEしたり、SEBlockいれたり) ◦ 上記のモデルをstacking(LightGBM) • stackingの出力をweighted average(optunaでweight最適化)
  6. Score   embedding size cv public private LightGBM 768 0.8131

    0.8100 0.8126 MLP 768 0.8358 0.8408 0.8418 stacking (lgb + MLP*6) 768 0.8378 0.8415 0.8411 weighted average (stacking * 9) all 0.8412 0.8423 0.8422
  7. embedding sizeごとのsingle model (MLP)のscore embedding size cv public private 30

    0.8211 0.8252 0.8253 50 0.8260 0.8329 0.8313 75 0.8289 0.8342 0.8344 100 0.8285 0.8362 0.8357 150 0.8297 0.8386 0.8400 200 0.8329 0.8412 0.8413 300 0.8339 0.8402 0.8411 500 0.8350 0.8400 0.8413 768 0.8358 0.8408 0.8418
  8. Not work • 特徴量 ◦ 名刺を交換した企業のtargetごとの、名刺を交換した企業のtargetの 割合 ▪ CVとLB改善するも、CVの改善の割にLBが上がらなかったので 不採用(leakを除ききれなかった?)

    ◦ corporation idではなく、targetを並べてword2vec ◦ word2vecで生成したembeddingを活用してcos類似度が大きい corporation idでtarget encoding ◦ 名刺交換データでBOW作成し、LDAやsvdで次元削減 ▪ LDAはnum_topicsをtargetのカテゴリ数にして、いい感じに次元 削減できないかと思ったが効かず