相関ヒートマップ
CoddyのMachine Learningジャーニー「機械学習のための統計」セクションの一部。レッスン 32/64。
20個の特徴量からなる行列は、数字が並ぶ壁のようです。ヒートマップでは各セルに色を付けるため、強い相関を持つペアがひと目でわかります。映画館の8日間:
このコードで描画できます:
cinema = pd.DataFrame({
"tickets": [120, 340, 210, 410, 180, 290, 380, 150],
"popcorn": [70, 150, 100, 200, 95, 120, 170, 60],
"temp_c": [24, 12, 15, 9, 20, 19, 11, 22],
"staff": [6, 5, 8, 7, 5, 6, 6, 8],
})
corr = cinema.corr()
fig, ax = plt.subplots()
im = ax.imshow(corr, cmap="coolwarm", vmin=-1, vmax=1)
fig.colorbar(im)
ax.set_xticks(range(4), corr.columns)
ax.set_yticks(range(4), corr.columns)
ax.set_title("Cinema Correlations")
plt.show()vmin=-1, vmax=1で色の範囲を固定します。赤は1、白は0、青は-1です。fig.colorbar(im)で凡例を追加し、set_xticks(positions, labels)でセルに名前を付けます。
チケットとポップコーンは一緒に赤く輝き、暖かい日はその両方に対して青く表示されます。スタッフの配置はほとんど関係ありません。
チャレンジ
中級スマートウォッチは、watch.csvに30日分のデータを記録しました。テキスト列のweekdayと、数値列が5つあります。
- 数値列の相関行列を計算します。
- -1から1の範囲で、カラーバー付きの
coolwarmヒートマップとして描画します。 - 横軸と縦軸の目盛りに列名を付け、タイトルを
Watch Dataにして表示します。
プログラムは何も出力しません。別の所有者の3つの列では、グラフは次のようになります。
自分で試してみよう
import pandas as pd
import matplotlib.pyplot as plt
watch = pd.read_csv("watch.csv")
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
機械学習のための統計のすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ