機器學習 - 相關矩陣圖



相關矩陣圖是資料集變數之間成對相關性的圖形表示。該圖由散點圖和相關係數矩陣組成,其中每個散點圖表示兩個變數之間的關係,相關係數表示關係的強度。矩陣的對角線通常顯示每個變數的分佈。

相關係數是衡量兩個變數之間線性關係的指標,其範圍從 -1 到 1。係數為 1 表示完全正相關,其中一個變數的增加與另一個變數的增加相關聯。係數為 -1 表示完全負相關,其中一個變數的增加與另一個變數的減少相關聯。係數為 0 表示變數之間沒有相關性。

相關矩陣圖的 Python 實現

現在我們已經對相關矩陣圖有了基本的瞭解,讓我們在 Python 中實現它們。在我們的示例中,我們將使用 Sklearn 中的 Iris 花資料集,其中包含 150 朵鳶尾花的花萼長度、花萼寬度、花瓣長度和花瓣寬度的測量值,這些鳶尾花屬於三個不同的物種 - 山鳶尾、變色鳶尾和維吉尼亞鳶尾。

示例

import numpy as np
import pandas as pd
import seaborn as sns
from sklearn.datasets import load_iris

iris = load_iris()
data = pd.DataFrame(iris.data, columns=iris.feature_names)
target = iris.target

plt.figure(figsize=(7.5, 3.5))

corr = data.corr()
sns.set(style='white')
mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True
f, ax = plt.subplots(figsize=(11, 9))
cmap = sns.diverging_palette(220, 10, as_cmap=True)
sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0,
   square=True, linewidths=.5, cbar_kws={"shrink": .5})
plt.show()

輸出

此程式碼將生成 Iris 資料集的相關矩陣圖,其中每個方塊代表兩個變數之間的相關係數。

correlation_matrix_plot

從該圖中,我們可以看到變數“花萼寬度 (cm)”和“花瓣長度 (cm)”具有中等負相關性 (-0.37),而變數“花瓣長度 (cm)”和“花瓣寬度 (cm)”具有強正相關性 (0.96)。我們還可以看到變數“花萼長度 (cm)”與變數“花瓣長度 (cm)”具有弱正相關性 (0.87)。

廣告