[2023/08/02]Machine Learning 輪講
Opened this issue · 5 comments
nogawanogawa commented
Why
Machine Learning 輪講は最新の技術や論文を追うことで、エンジニアが「技術で解決できること」のレベルをあげていくことを目的にした会です。
prev.#204
What
話したいことがある人はここにコメントしましょう!
面白いものを見つけた時点でとりあえず話すという宣言だけでもしましょう!
注意
8/2会は通常の論文読み会ではなく、「atmCup#15の振り返り」をテーマに開催することになりましたのでご注意ください。
zerebom commented
順位
コード
https://github.com/zerebom/atma15
上位解法まとめ
https://receptive-hair-6a7.notion.site/c5000d6287234fecb516577a25ddd2d6?pvs=4
やったこと
- anime.csvの基本的な前処理
- 年齢とかの抽出
- categorical → TruncatedSVD
- SeenとUnseenユーザを分けて学習
- Seenはlgbm
- UnseenはSurpriseを利用
- TargetEncoding
- anime2Vec
LateSubでやったこと
- implicitを使ったBPR, ALS
- anime2Vecのvector_sizeを小さくする(効いた)
間に合わなかったこと
- item2itemやuser2userの利用
- アンサンブル
振り返り
hakubishin3 commented
nogawanogawa commented
順位
188位
Private: 1.2249
Public: 1.2467
やったこと
- 単純にユーザーごとの平均
- アイテムベース協調フィルタリング
- LGBM
- LGBM + 協調フィルタリング
- CatBoost + 協調フィルタリング
- stacking(ちょっとだけ上がった)
コード
- lgbm: https://colab.research.google.com/drive/1qYR-y2Y6Mon5BrqyRslNB6GmhbHAy-Vx?usp=sharing
- xgb: https://colab.research.google.com/drive/1U6NrsyXS_3ZGFkI8HPCo9-LOwl1FeiT_?usp=sharing
- cb: https://colab.research.google.com/drive/1LjfU6HuCb7RYeUzcNhvdl4GE_EILodPI?usp=sharing
- stacking: https://colab.research.google.com/drive/1aPkINQmGR-PyvA_6Gjt-JNB_58DCwY8_?usp=sharing
特徴量
- ユーザーごとのscoreのmean, median, max, min
- animeごとのscoreのmean, median, max, min
- episode数
- duration
- 放映時期の近さ(日数)
- カテゴリをすべてone hot encoding
- その他協調フィルタリングのscore
やったけど上手く行かなかったこと
- GNN (Hetero, 多分単純に実装ミスってたっぽい)
- user-カテゴリでの協調フィルタリング
間に合わなかったこと
- TabNet
potsbo commented
順位
やったこと
https://www.guruguru.science/competitions/21/discussions/b46b4dda-6ce7-4a9b-99f9-0c3caabb3ba7/ をベースにした word2vec に anime_id の列ではなく、anime の特徴から単語列(ざっくり title をmecab split とか)を出してチューニングしていった
zerebom commented
議事録
@.hakubishin3
開始年月・終了年月の抽出とそれに基づいた特徴量の作成
- 何クールぐらいやってるか(たくさんやってたら人気)
watching や on_hold などの数値特徴量の四則演算
- 最後まで見た割合とか、規模の違うアニメでの比較ができるようになる
anime2vec
- implicit全件で作った。基本興味のあるものを見るでしょという仮定
- ユーザが登録したアニメの平均をユーザのベクトルとする。その逆も然り
fold
- scoreで層別5fold。これでもわりと相関した
@.nogawanogawa
- Supriseのスコアを突っ込んだら精度が上がった
- lgbm → catboostで少数第3位で1,2上がるくらい。stackingも同じくらい
- catboostはcategoryの処理がリークしにくいからよい?
@.potsbo
- アニメを単語列に変換する
- テキストをmecabで分割
- 助詞を落とすとか前処理も
- 単語の後にカテゴリ変数を継ぎ足す
- テキストをmecabで分割
- アニメベクトルは単語のw2vの平均値を取る