メモまとめ。実際のプロットの仕方などは本書を参照
kaggleで上位に入るための探索的データ解析入門
EDAの概要
<目的>
特徴や傾向の理解だけでなく、モデル学習に適した”良いデータを作ること”
<問い>
・解釈を誤っていないかどうか?
・他に良い特徴はないか?
・学習に必要なデータを選別できてるか?
<良いデータとは>
・不要な情報が取り除かれていること
・目的変数と関連があること
・データに優先度が付けられていること
<EDAプロセス>(必ずしも順番通りではない)
データセット理解
データクリーニング
分析の切り口検討
データ分析
データ選択
① データセット理解
▼目的
・目的変数、またデータ同士の関連を把握する
・分析すべきところのアタリをつける
▼内容
・データの意味の把握
e.g. 量的(continuous)データと判明
→ distplot, 相関、外れ値があるかなどの分析検討できる
・取りうる値の範囲
→ 外れ値かどうか判断できる
・値の意味
② データクリーニング
▼目的
・誤った解釈、学習を防ぐため
▼内容
・欠損値
・外れ値
・表記揺れ
:e.g. 1000円, 1,000、一千円
・重複データ
・データ型変換
:e.g. 男女→0/1
・無意味データ(無規則)の消去
③ 分析の切り口検討
▼目的
・隠された特徴、新たな仮説を得るため
▼内容
・要約統計量
:平均、中央値、標準偏差など
・スライシング
:e.g. 男女→20代男性→20代男性高所得層
・合成
e.g.
- 顧客単価(=売上/顧客数)
- 営業利益(=売上総利益-販管費)
・尺度変換
:e.g. 28歳、32歳→20代、30代
・無名数化
:e.g. テストの点数を偏差値に変換
④ データ分析
▼内容
・単変数の分析
:ヒストグラム(distplot)
・変数間の分析
:棒グラフ、箱ひげ図(bar/cat/box/violin plot)
・時系列の分析
:折れ線グラフ(lineplot)
・相関分析
:散布図、ヒートマップ(scatter/re plot, heatmap)
(sns.FacetGridが便利そう)
参考
・kaggleで上位に入るための探索的データ解析入門
・From data to Viz
・matplotlib cheatsheets
・sweetviz
・datavizcatalogue
・Top 50 matplotlib Visualizations – The Master Plots (with full python code)
・Jupyter/Pythonでデータ分析する人にお勧めしたい!便利なライブラリー「PixieDust」をザクッと紹介します
・Comprehensive data exploration with Python (kaggleで最もvoteが多いnotebookの日本語解説)
・Titanic Data Science Solutions(kaggleで2番目にvoteが多いnotebookの日本語解説)