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