LoginSignup
2
3

More than 1 year has passed since last update.

Kaggleで使える技術まとめ

Last updated at Posted at 2023-02-02

はじめに

Kaggleで学んだ処理方法をメモしていきます.
みなさんからも是非色々教えて欲しいです.

私が読んだ本をあげておきます.

  • Pythonではじめる Kaggleスタートブック
  • 前処理大全[データ分析のためのSQL/R/Python実践テクニック]

1 共通事項

1.1 バギング(bootstrap aggregating)

DeepLearningの研究では,手元にあるデータは全て正解もセットであることが多いと思います.
ですが,Kaggleはtestデータの正解ラベルは公開されていませんし,testデータに対する結果で競います.手元にあるデータをTrain・Validation・testに分けるのがセオリーですが,KaggleではTrain・Validationだけに分けて,できる限り多くのデータを学習させるようにします.その中からTrain・Validationの組み合わせを変更して複数のモデルを作成します.それらのモデル全てでテストデータに対して出力を取り,多数決を取って最終的なモデルの出力とします.
Bagging.png

1.2 パラメータチューニング

実行する際の良いハイパーパラメータを探します.あんまやったことはないので,手法だけメモしておきます.

  • Grid Search
  • Hyperopt
  • Optuna

2 テーブルデータ

2.1 クラスの数値

テーブルデータはラベルが数値として入っていることがあります.[🐶,🐭,🐱] = [0,1,2]といった具合です.
これをそのまま数値に入れると🐭と🐱より,🐶と🐱のほうが離れているいう入力になります.これはよくないですよね.
ということで,これをClass1・Class2・Class3という3つのパラメータに分けて考えます.例えば,ラベルが🐶の時は"Class =0"と入っていたところを,"Class1 =1"・"Class2 =0"・"Class3 =0"とします.これでクラスをちゃんとクラスとして扱えます.

ですが,これって1000クラスとかになるとまずいんじゃね??とも思います…:unamused:
解決策求ム:sob:

2.2 正規化

テーブルデータには,特徴毎に様々な範囲をとることがあります.例えば一つだけ異常に大きい数値を取る特徴があったとき,そのまま入れると意図しない部分が大きく効いてしまいます.
なので,全ての要素を(0,1)の範囲で正規化することで,全ての特徴量を均等にみてくれるようになります.

3 画像データ

随時追記予定

4 テキストデータ

  • Bug of words
  • TF-IDF
  • Word2vec

随時追記

さいごに

随時追記予定です

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3