どうもニコイチです。初めての方向けのデータ分析も第3回目となりました。今回はいよいよデータを深堀り検索していく、EDA編です。ぜひチャレンジしてみてください。
2.Pythonでデータ分析を始めよう!初心者向けガイド-データ確認方法入門編-
どうもニコイチです。前回は、データを読み込む方法について学びました。でも、データを読み込んだだけでは不十分です。まるで届いた荷物の中身を確認せずに使い始めるよ…
目次
1. そもそもEDA(探索的データ分析)とは?
EDAって何?
探索的データ分析(EDA: Exploratory Data Analysis)は、データを「探検」するようなものです。
例えるなら…
- 新しい土地を観光するように、データの「観光スポット」を見つける
- 宝探しのように、データの中から「お宝」(重要な特徴や傾向)を見つけ出す
なぜEDAが必要?
🎯 目的:
- データの全体像を把握する
- 異常値や欠損値を見つける
- 変数間の関係性を理解する
- 予測モデル作成のヒントを得る
📌 例え話:
料理で例えると…
- レシピ(予測モデル)を作る前に
- 材料(データ)の鮮度をチェックし(異常値確認)
- 材料同士の相性を確認する(相関分析)
ようなものです!
2. EDAの具体的な方法
基本統計量の確認
# 基本統計量を一括で確認
df.describe()
describe()関数で分かること:
- count:データ数(欠損を除く)
- mean:平均値
- std:標準偏差(ばらつきの程度)
- min:最小値
- 25%:第1四分位数(下から25%の位置の値)
- 50%:中央値
- 75%:第3四分位数(下から75%の位置の値)
- max:最大値
🎓 初心者向けヒント:
標準偏差や四分位数が分かりにくい?こう考えましょう!
- 標準偏差:データの「散らばり具合」
- 小さい:みんな似たような値
- 大きい:値にバラツキがある
- 四分位数:データを4等分する値
- 例:100人のテストの点数を順番に並べて、25番目、50番目、75番目の人の点数
データの可視化
1. ヒストグラム
import matplotlib.pyplot as plt
# ヒストグラムの作成
plt.hist(df['列名'])
plt.show()
👉 使い所:
- データの分布を確認したいとき
- 例えるなら、「身長」や「年齢」の分布を見るような感じ
🚫 よくあるつまずき:
- ビンの数(棒の数)が適切でないと分布が分かりにくい
- plt.hist(df[‘列名’], bins=30) でビンの数を調整できます
2. 箱ひげ図(ボックスプロット)
plt.boxplot(df['列名'])
plt.show()
📦 箱ひげ図の読み方:
最大値
↑
|
75% ┌─┐
50% ├─┤ ← 箱の中に全体の50%のデータが入っている
25% └─┘
|
↓
最小値
⭐ 外れ値(はずれ値)の発見:
- 箱ひげ図の「ひげ」から飛び出た点が外れ値
- 例えるなら、クラスの平均身長が160cmなのに、3mある人がいたら「外れ値」
3. 相関分析
# 相関係数の確認
df.corr()
# ヒートマップで可視化
import seaborn as sns
sns.heatmap(df.corr(), annot=True)
plt.show()
🎯 相関係数の解釈:
- 1に近い:強い正の相関(一方が増えると他方も増える)
- -1に近い:強い負の相関(一方が増えると他方は減る)
- 0に近い:相関が弱い(関係性が薄い)
📌 例え話:
- 正の相関:勉強時間と成績の関係
- 負の相関:気温と上着の販売数の関係
- 無相関:誕生日と身長の関係
3. EDAを行う際のコツ
手順を決めて進める
- まず基本統計量を確認
- データの分布を可視化
- 外れ値のチェック
- 変数間の関係性を確認
つまずきやすいポイントと対策
- 外れ値の扱い
- むやみに除外せず、なぜその値になったのか考える
- 明らかなエラー(例:年齢が-5歳)は修正
- 可視化の選び方
- 1変数の分布 → ヒストグラム
- 外れ値の確認 → 箱ひげ図
- 2変数の関係 → 散布図
- 複数変数の関係 → ヒートマップ
まとめ
EDAは、データ分析の「下準備」として非常に重要です。
- データの特徴を理解する
- 問題点を早期に発見する
- 分析の方向性を決める
この段階でしっかり時間をかけることで、後の分析がスムーズになります!
コメント