資料科學 - 統計相關性矩陣
相關性矩陣
矩陣是排列在行和列中的數字陣列。
相關性矩陣僅僅是一個顯示變數之間相關係數的表。
在這裡,變數顯示在第一行,並在第一列

上面的表格使用了完整健康資料集中的資料。
觀察結果
- 我們發現“時長”和“消耗的卡路里”密切相關,相關係數為 0.89。這很合理,因為我們訓練的時間越長,消耗的卡路里就越多。
- 我們發現“平均脈搏”和“消耗的卡路里”之間幾乎沒有線性關係(相關係數為 0.02)。
- 我們可以得出結論“平均脈搏”不影響“消耗的卡路里”嗎?不。稍後我們會回來回答這個問題!
Python 中的相關性矩陣
我們可以使用 Python 中的 corr()
函式來建立相關性矩陣。我們還使用 round()
函式將輸出四捨五入到小數點後兩位。
輸出

使用熱力圖
我們可以使用熱力圖來視覺化變數之間的相關性。

相關係數越接近 1,方塊的顏色就越綠。
相關係數越接近 -1,方塊的顏色就越棕。
使用 Seaborn 建立熱力圖
我們可以使用 Seaborn 庫建立一個相關性熱力圖(Seaborn 是一個基於 matplotlib 的視覺化庫)。
示例
import matplotlib.pyplot as plt
import seaborn as sns
correlation_full_health = full_health_data.corr()
axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)
plt.show()
自己動手試一試 »
示例解釋
- 匯入庫 seaborn 作為 sns。
- 使用 full_health_data 資料集。
- 使用 sns.heatmap() 來告訴 Python 我們想要一個熱力圖來視覺化相關性矩陣。
- 使用相關性矩陣。定義熱力圖的最大值和最小值。定義 0 為中心。
- 使用 sns.diverging_palette 定義顏色。n=500 意味著我們希望在同一個顏色調色盤中有 500 種顏色。
- square = True 意味著我們想要看到方塊。