背景
気分転換にコンペに参加しました。開催中のコンペなので、SIGNATEに迷惑がかかる様な情報は出しません。
目的
今まで、コンペを計画的にやって来ませんでした。今回からちょっと真剣に自分なりのPDCAを作ろうと思います。
方法
自分が行った事を追記していきたいと思います。
- ラベルエンコーディング:LightGBMの機能を使うために質的データをラベルエンコーディングしておきます。確か論文に書いてあったと思うのですが、よく覚えていません。(Guolinら(2017)、LightGBM: A Highly Efficient Gradient Boosting
Decision Tree、NIPS):前処理 - LightGBM:モデル
- kfold:学習方法
結果
以前なら、これで結構良い位置に行けたんですが、今回はそうでもなかったです。早く自分の方法を作る必要性を感じます。
PDCA
- これをひたすら回しながら、知見や理解を深めていきたいと思います。
- とりあえず、「Uryu Shinya(2020.4)、Practical Data Science with R and Python」を参考に進めていきたいと思います。
1.データの確認
1-1.EDA
「まずは簡単な集計・可視化をします。データを要約、図示することで、個々の値からは見えなかった情報やデータ間の関係を把握するのが目的です。特に欠損値や異常値(外れ値)、データの分布などデータ全体あるいはデータ間の関係性やそのばらつきを見るのに可視化は重要です。」(Practical Data Science with R and Python)
「モデリングでは、目的変数の挙動(予測、分類)を明らかにすることがゴールとして設定されます。変数が多いデータであるほど確認する図の数が多くなり、効率的ではなくなります。そのため、まずはモデリングの目的変数となるデータを詳しく見ることを勧めます。また、この段階で作る図は初期モデルを構築する前段階で示唆を提供するものであると望ましいです。そこで目的変数に影響する説明変数、説明変数間の関係を明らかにすることで、次のモデリングプロセスに活かせる知識を得られることが期待できます。」(Practical Data Science with R and Python)
2.前処理
3.学習
3-1.モデルの検討
3-2.評価関数の検討
4.予測
課題
- Optuna:時間がかかるうえにそこまでスコアも良くならないのは経験的に知っているので後回しにします。パラメータ設定を考える際に検討しようと思います。
- 「Kaggleで勝つ」のメソッドを全部試したいところです。
参考
- Uryu Shinya(2020.4)、Practical Data Science with R and Python