Sansan×atmaCup#6 ソリューションの概要 / Sansan×atmaCup#6 Solution Summary

A2cac4b3dcb2bc0b87917ddc034ef708?s=47 Sansan DSOC
November 16, 2020

Sansan×atmaCup#6 ソリューションの概要 / Sansan×atmaCup#6 Solution Summary

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

■登壇概要
タイトル:Sansan×atmaCup#6 ソリューションの概要
発表者: atma株式会社 取締役 山口 貴大 さん
https://www.atma.co.jp/

Sansan DSOC
▼Website
https://sansan-dsoc.com/
▼Twitter
https://twitter.com/SansanDSOC

A2cac4b3dcb2bc0b87917ddc034ef708?s=128

Sansan DSOC

November 16, 2020
Tweet

Transcript

  1. Sansan x atmaCup#6 ソリューションの概要 2020/11/16

  2. もくじ • 自己紹介 • 問題の概要 (再掲) • どういった要素が効く問題だった? • どんな手法が使われた?

  3. Who Are You? atma(アートマ)株式会社 取締役 山口貴大 @nyker_goto (twitter) 担当領域: データ分析・フロントエンド・バックエンド・

    インフラ 京都大学大学院 最適化数理卒 SGDが好き Kaggle Master kaggle.com/nyk510 3
  4. はじめに 今回もたくさんのDiscussionをPostしていた だきました!!(全部で41件) これらDiscussion, 並びにLT会で共有されて いた内容をざっと振り返ります。 細かい内容に立ち入ると無限に時間がかか るのでサラッと行きます。

  5. 問題の概要 (再掲) 大きく2つの要素 • 企業情報 • 名刺交換トランザクション

  6. どういった要素が効く課題だった? • 企業情報はほとんどワークしない ◦ 企業の業種予測なので属性情報が最も単純な特徴 ◦ ナイーブに GBDT に入れても性能が出ない &

    Importance も低い • 有用な情報はほとんど名刺交換に存在 ◦ 交換の情報を上手に特徴量に変換 or 交換をそのまま扱える枠組みで捉え ることが出来るかが鍵 • 単に集計するよりもグラフとして扱う方法がとても有効だった
  7. どんな方法が使われた? > 特徴量編 • 名刺交換のEmbedding ◦ 取引先のIDを文章中の単語とみなして Word2Vec ◦ DeepWalk

    / Nod2Vec / ProNE などグラフのNodeを埋め込む手法 ◦ Embedding の埋め込み次元数も重要な要素 ▪ 事前検証では 300 ぐらいまでは増やせば増やすほど良くなった。 • 取引先の Target 情報 ◦ 取引がある相手の target ごとの count / それを normalize したもの • 上記の集約特徴量
  8. どんな方法が使われた? > モデル編 • 多種多様なモデルで精度を出している人が多かった ◦ MLP・GNN・GBDT などなど ◦ NYK510賞:

    GNNの実装例 一般的なテーブルデータのように「GBDT でポン」という感じではない印象 • CatBoost > XGBoost > LightGBM ◦ 普通の table data のような属性情報が多くない ◦ LightGBM でも Depth が浅めのほうが良い • One-VS-All が有効 ◦ 複数の出力クラスのそれぞれに対して binary classificationする方法
  9. Public/Privateの相関 めちゃくちゃキレイでした https://www.guruguru.science/competitions/ 11/summary

  10. Models Models Models Appendix: VIVID Solution Node2Vec (dim=64, 200, 400)

    部分ネットワークNode2Vec 時系列の交換枚数自己相関 SVM Logistic LightGBM XGB Logistic Avg. (mean) XGB LightGBM Features (10set) … 10 set の特徴ごとに 1段目のモデル(x6)を学習 60モデルごとにGBDTにいれる XGBoost Private: 0.8190 Public: 0.8220 LightGBM Private: 0.8156 Public: 0.8141 とりあえずたくさんモデルを作ることが目的なのでわちゃわちゃしています。 VIVID は nyk510 が作っているML用のライブラリです。stacking などがかんたんに試せるのが特徴。 x 10set