溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python入門需要掌握繪制熱圖展示的相關系數

發布時間:2021-10-09 17:57:27 來源:億速云 閱讀:288 作者:柒染 欄目:大數據
# Python入門需要掌握繪制熱圖展示的相關系數

在數據分析和機器學習領域,理解變量之間的相關性是至關重要的。相關系數矩陣的熱圖(Heatmap)是一種直觀展示數據關系的可視化工具。本文將介紹如何使用Python中的`pandas`、`numpy`和`seaborn`庫計算并繪制相關系數熱圖。

## 一、相關系數簡介

相關系數(Correlation Coefficient)用于衡量兩個變量之間的線性關系強度,取值范圍在-1到1之間:

- **1** 表示完全正相關
- **-1** 表示完全負相關
- **0** 表示無線性相關

常用的皮爾遜相關系數公式為:
$$
r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \sum (y_i - \bar{y})^2}}
$$

## 二、準備工作

### 安裝必要庫
```bash
pip install pandas numpy seaborn matplotlib

導入庫

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

三、生成示例數據

我們創建一個包含4個特征的DataFrame:

np.random.seed(42)
data = pd.DataFrame({
    'A': np.random.normal(0, 1, 100),
    'B': np.random.normal(0, 1, 100) * 0.5 + 0.3,
    'C': np.random.rand(100) * 2 - 1,
    'D': np.linspace(0, 10, 100) + np.random.normal(0, 0.5, 100)
})

四、計算相關系數矩陣

使用pandas的corr()方法:

corr_matrix = data.corr()
print(corr_matrix)

輸出示例:

          A         B         C         D
A  1.000000  0.287432 -0.029591 -0.008834
B  0.287432  1.000000 -0.010402  0.028693
C -0.029591 -0.010402  1.000000 -0.006512
D -0.008834  0.028693 -0.006512  1.000000

五、基礎熱圖繪制

使用seaborn的heatmap()函數:

plt.figure(figsize=(8, 6))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.title("Correlation Heatmap")
plt.show()

參數說明: - annot=True:顯示數值 - cmap:顏色映射 - vmin/vmax:顏色范圍(默認-1到1)

六、高級定制技巧

1. 調整顏色和格式

sns.heatmap(
    corr_matrix,
    annot=True,
    fmt=".2f",  # 數值格式
    cmap="RdYlGn",
    center=0,
    linewidths=0.5,
    cbar_kws={"shrink": 0.8}
)

2. 隱藏上三角/下三角

mask = np.triu(np.ones_like(corr_matrix, dtype=bool))
sns.heatmap(corr_matrix, mask=mask, annot=True)

3. 聚類分析

sns.clustermap(corr_matrix, method="ward", cmap="viridis")

七、實際案例演示

以經典的鳶尾花數據集為例:

iris = sns.load_dataset('iris')
corr = iris.corr()
sns.heatmap(corr, annot=True, cmap='Spectral')
plt.title("Iris Feature Correlation")

八、常見問題解決

  1. 中文顯示問題
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
  1. 處理缺失值
data.corr(method='pearson', min_periods=10)
  1. 大數據集優化
sns.heatmap(..., annot=False)  # 關閉數值標注

九、總結

掌握相關系數熱圖的繪制能幫助你: - 快速發現數據中的關鍵關系 - 識別潛在的多重共線性問題 - 為特征選擇提供可視化依據

進階學習建議: - 嘗試不同相關系數(斯皮爾曼、肯德爾) - 結合pairplot等其他可視化方法 - 學習Plotly制作交互式熱圖

完整代碼示例可參考:

# 完整示例
import seaborn as sns
iris = sns.load_dataset('iris')
sns.heatmap(iris.corr(), annot=True, cmap='coolwarm')
plt.show()

通過本文的學習,你應該已經掌握了用Python繪制相關系數熱圖的核心方法。在實際項目中靈活運用這一技能,將使你的數據分析工作更加高效專業。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女