背景
在数据分析与建模过程中,特征间的相关性分析是至关重要的一环,理解特征之间的线性关系能够帮助研究者优化特征选择过程,同时避免冗余信息对模型性能的影响。这里的参考文献中提到相关系数达到阈值即过高时【|r|>0.95】,表示两个因子之间存在较强的线性相关性,即两个因子携带相同或相似的性能信息,此时可剔除一个因子以减少冗余特征,提高模型的效率与稳定性。至于具体剔除哪一个特征,读者可自行查阅文献了解相关细节
本文重点复现这种基于相关系数的可视化方法,利用皮尔逊相关系数评估特征之间的关系,并通过饼图形式将相关性结果直观呈现:
- 颜色表示相关性方向:蓝色表示正相关,红色表示负相关
- 角度填充反映相关性强度:饼图的填充角度越大,表示特征间相关性越强
- 简单直观:通过结合颜色和填充比例,研究者能够一眼捕捉到特征间的线性相关性强弱与方向
这种可视化方式不仅使数据分析更具直观性,还能够辅助研究者快速识别并剔除高度相关的冗余特征,从而更高效地完成特征选择与模型构建
代
码实现
数据读取
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['axes.unicode_minus'] = False
import warnings
# 忽略所有警告
warnings.filterwarnings("ignore")
from sklearn.model_selection import train_test_split
df = pd.read_excel('2025-1-11公众号Python机器学习AI.xlsx')
导入必要的库,设置一些绘图参数和警告忽略规则,并从Excel文件中加载一个数据集,为后续的数据可视化
做准 备
基础可视化
import seaborn as sns
# 计算相关系数矩阵
correlation_matrix = df.corr()
# 绘制相关系数热力图
plt.figure(figsize=(12, 8), dpi=1200)
sns.heatmap(correlation_matrix, annot=True, fmt=".2f", cmap="coolwarm", cbar=True)
plt.savefig("6.png", format='png', bbox_inches='tight')
plt.show()
通过计算数据集的相关系数矩阵并使用Seaborn库绘制热力图,直接实现了相关系数的可视化,是一个依赖库函数的简单实现方式
进阶可视化一
通过饼图的角度和颜色在相关系数矩阵中可视化相关系数的大小和方向,结合颜色条直观展示变量之间的相关性
进阶可视化二
相对于前面的可视化,这里在相关系数矩阵中添加数值显示,用文本直接标注相关系数的具体数值,并且根据相关系数的大小和方向调整了数值的颜色,使得相关系数矩阵整体展示方式互补:用扇形表示大小以及用数值直观展示具体值 , 完整 代码与数据集获取:如需获取本文的源代码和数据集,请添加作者微信联系
历史相关系数可视化
往期推荐
聚类与解释的结合:利用K-Means聚类辅助SHAP模型解释并可视化
期刊配图:SHAP可视化改进依赖图+拟合线+边缘密度+分组对比
期刊配图:SHAP蜂巢图与柱状图多维组合解读特征对模型的影响
基于mRMR筛选和递归特征选择的多模型性能评估与AUC可视化对比
期刊配图:SHAP可视化进阶蜂巢图与特征重要性环形图的联合展示方法
如果你对类似于这样的文章感兴趣。
欢迎关注、点赞、转发~
个人观点,仅供参考