Quvotha / aiquest2021-assesment

1 stars 0 forks source link

Exp04: `name`, `description` を特徴に追加できないか? #11

Closed Quvotha closed 3 years ago

Quvotha commented 3 years ago

残り時間の使い方

限られた残り時間で性能を高めるため、以下の 5 点を色々試していく。

  1. 今まで使っていなかった name, description も特徴量に組み込んでみる。
  2. モデルの分け方を変える(y>N のN)
  3. 分類器を変える
  4. モデル②③で別々のモデルを使ってみる
  5. 9 で試した sample_weight も併せて使ってみる

本 issue では 1. に取り組む。

今までの submission を見るに Local の valid_loss は信頼できそうな気がするのでこれを改善していくことを目標にする。

Originally posted by @Quvotha in https://github.com/Quvotha/aiquest2021-assesment/issues/8#issuecomment-893480191

Quvotha commented 3 years ago

name, description の特徴を抽出する

今のところ Local/PB が最良である 02-12 を改造する。

まずは name のみを対象に様々な特徴抽出方法を試す。最良の方法が見つかったら次は description を対象に。両方で最良の方法が見つかったらそれらを組み合わせる。

※CountVectorizer, TF-IDF は次元数が万単位になるので次元削減を行わないパターンは実施しないこととする

Quvotha commented 3 years ago

 name は 2. のパターンが最も良かったが改造前の 02-12 を Local CV が悪化した。description は 22. が最も良く Local CV と Public Leaderboard の両方で 02-12 より改善した。25. (2. と 22. のベクトルの両方を特徴量にする) は 22. よりも結果が悪くなった。name は取り扱い注意かもしれない。なお、打消し線を引いているパターンは実施していない。PCA を scikit-learn でやるには CountVector/TF-IDF のベクトルを numpy 形式にしなければならないが、メモリをドカ食いして面倒なので放棄した。TruncatedSVD や LDA は scikit-learn の実装だとスパース形式で処理できるのでサクッと試せた。

 name は本当に役に立たないのか、以下のパターンも追加で試した。

Quvotha commented 3 years ago

特徴量エンジニアリングの方法は 04-27 で決定とする。

12 で 04-27 の結果を再現できなくなってしまったが気にしても仕方ないので先に進む。

なお 04-28 で name, description, zipcod5, city 等を用いた予測結果の後処理についてトライしたが LocalCV も PB も改善しなかったので後処理はナシで行く。 引き続き冒頭で述べた残り時間の使い方の中でも以下の点に取り組みたい。

  1. モデルの分け方を変える(y>N のN)
  2. 分類器を変える
  3. モデル②③で別々のモデルを使ってみる
  4. 9 で試した sample_weight も併せて使ってみる