Yagami360 / kaggle_exercises

kaggle_exercises

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

General

Yagami360 opened this issue · comments

練習用コンペ

  • テーブルコンペ(分類)
    • titanic
  • テーブルコンペ(回帰)
    • House Prices: Advanced Regression Techniques
  • テーブルコンペ
    • Restaurant Revenue Prediction
    • Home Credit Default Risk
  • 画像系
    • Dogs vs. Cats Redux: Kernels Edition

前処理

  • PCA による次元圧縮
  • 値が1つしかない特徴量(クレンジング対象)を自動的に検出して警告する EDA スクリプト
  • 外れ値が含まれる特徴量(クレンジング対象)を自動的に検出して警告& plot する EDA スクリプト

検証

  • k-cold CV 時の各 k でのモデルの clone() 有無
  • 時系列データに対する k-fold CV

可視化

  • EDA スクリプト
  • UMAP

特徴量エンジニアリング

  • Feature 形式の取り扱い

環境構築

  • github管理
  • データセットの自動ダウンロード(Kaggle API使用)
  • 自動 submit(Kaggle API使用)
  • Kaggle 用 dockerfile(xgboost などの conda に含まれていないパッケージの自動インストール)
  • 実験パラメーターの jsonファイル管理
  • ログファイルの出力(logger 機能の追加)
  • submit の pending 待ち処理
  • ディレクトリ構成の変更
  • スプレットシートに実験パラメータとスコアを自動的に記入するスクリプト

発展

  • テーブルデータに対する分類問題の DNN モデル検証
  • テーブルデータに対する回帰問題の DNN モデル検証
  • XGBoost(Gradient Boosting)論文読み
  • XGBoost(Gradient Boosting)引用論文調査

フレームワーク

  • PyTorch

    • sklearn, xgboost 等とのアンサンブルを実現するためのモデルクラスとアンサンブルクラス
    • k-flod CV での学習と評価
  • Keras

    • データセットの読み込み(バッチ単位でのデータローダー使用)
    • 画像データの前処理(正規化、crop & resize, data augumention)
    • optimizer, loss 関数の設定
    • ネットワークの実装処理
    • 事前学習済みモデルの読み込み
    • チェックポイントの保存と読み込み
    • 学習済みモデルでの推論処理
    • Keras で実装した DNN モデルと sklearn や XGBoost 間でのアンサンブル
    • 学習状況を tensorboard への出力
      • loss値, 正解率
      • 画像(独自の callback クラスを定義する必要あり)
      • epoches 毎ではなく、step 度に出力

機械学習モデル

  • XGBoost
  • LightGBM
  • CatBoost
  • submit.csv ファイルでのアンサンブルモデル
  • スタッキングでのアンサンブル(独自実装)
    • DNN モデル追加
    • 複数の層でのスタッキング
  • スタッキングでのアンサンブル(sklearn)
    • Keras の DNN モデルでもアンサンブル出来るようにする(clone() 動作)
  • スタッキングでのアンサンブル(heamy)

ハイパーパラメーターのチューニング

  • アンサンブルモデルでの自動チューニング(重み)
  • アンサンブルモデルでの自動チューニング(重み+各弱識別器のパラメータ)
  • チューニング後のハイパーパラメーターを自動的にパラメータファイル(yml)に保存する機能
  • Keras の DNN モデルの Optuna でのチューニング(層の構造, optimizer, activation, dropuout 率など)