どうもニコイチです。改めて可視化についてご紹介します。今回は相関係数を表示する上で欠かすことができないヒートマップについてです。下記コードを具体的に説明していますのでぜひごらんください。
Pythonでデータ分析を始めよう!初心者向けガイド | いきかちガジェットゲームLab:ガジェット・ゲーム・DX
どうもニコイチです。今回はdemoデータを使って実際に予測モデルを作れるようになることを目的とした、シリーズをご紹介します。Pyhonってなに?どうやってつかうの?と戸惑って…
# 必要なライブラリのインポート
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# データの読み込み
df = pd.read_csv('定期貯金契約データ.csv')
# 相関係数の計算
correlation_matrix = df.corr()
# グラフのサイズを設定(見やすい大きさに)
plt.figure(figsize=(10, 8))
# ヒートマップの作成
# annot=True で数値を表示、fmt='.2f' で小数点2桁まで表示
# cmap='Reds' で赤系統の色を使用
# vmin=-1, vmax=1 で相関係数の範囲を-1から1に設定
sns.heatmap(correlation_matrix,
annot=True, # 数値を表示
fmt='.2f', # 小数点2桁まで
cmap='Reds', # 赤系統の色を使用
vmin=-1, # 最小値
vmax=1, # 最大値
square=True) # マスを正方形に
# タイトルの設定
plt.title('定期貯金データの相関関係(ヒートマップ)')
# グラフの表示
plt.show()
ではこのコードについて、初心者の方向けに詳しく解説していきます。
目次
1. ライブラリのインポートについて
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
📌 例え話:
- これは料理で言えば「調理器具の準備」のような作業です
- pandas (pd) : データを扱うための「まな板」
- matplotlib (plt) : 基本的な図を描く「包丁」
- seaborn (sns) : より綺麗な図を描くための「高級な包丁」
2. ヒートマップとは?
ヒートマップは「熱分布図」とも呼ばれ、数値の大きさを色の濃さで表現します。
📌 例え話:
- サーモグラフィー(温度分布を色で表す)のようなもの
- 天気予報の気温分布図のように、数値を色で表現
3. 重要なオプションの説明
sns.heatmap(correlation_matrix,
annot=True, # 数値を表示
fmt='.2f', # 小数点2桁まで
cmap='Reds') # 赤系統の色を使用
よく使うオプション:
annot=True
- 各マスに数値を表示する
- False にすると数値が非表示になり、色だけの表示
fmt='.2f'
- .2f は「小数点2桁」という意味
- 例:0.12345 → 0.12
cmap
の色の選択肢:
- ‘Reds’: 赤系統
- ‘Blues’: 青系統
- ‘Greens’: 緑系統
- ‘coolwarm’: 赤と青のグラデーション
4. よくあるつまずきポイント
- グラフが表示されない
- 原因:
plt.show()
を忘れている - 解決:必ずコードの最後に追加する
- 数値が見切れる
- 原因:グラフのサイズが小さすぎる
- 解決:
plt.figure(figsize=(10, 8))
でサイズを調整
- 色の濃さがわかりにくい
- 原因:データの範囲が適切に設定されていない
- 解決:
vmin=-1, vmax=1
で範囲を明示的に設定
5. 実践的なコツ
- データの前処理
# 数値データのみを選択
numerical_columns = df.select_dtypes(include=['float64', 'int64']).columns
correlation_matrix = df[numerical_columns].corr()
- グラフの見やすさ改善
# 軸ラベルの回転
plt.xticks(rotation=45)
plt.yticks(rotation=0)
このようなヒートマップを使うことで、相関関係を視覚的に素早く把握することができます。色が濃いところに注目することで、強い相関関係がある変数のペアを簡単に見つけることができます。
コメント