python 相关性分析
时间: 2023-07-05 15:21:05 浏览: 167
在 Python 中,可以使用多种库进行相关性分析,常用的有 pandas、numpy 和 seaborn 等。
在 pandas 中,可以使用 corr() 函数计算 DataFrame 的列之间的相关性,也可以使用 corrwith() 函数计算一个 DataFrame 中某一列与其他列之间的相关性。示例代码如下:
```python
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv')
# 计算各列之间的相关系数
corr_matrix = data.corr()
# 计算某一列与其他列之间的相关系数
corr_with_target = data.corrwith(data['target'])
```
在 numpy 中,可以使用 corrcoef() 函数计算数组的相关系数矩阵。示例代码如下:
```python
import numpy as np
# 生成随机数据
data = np.random.rand(100, 5)
# 计算相关系数矩阵
corr_matrix = np.corrcoef(data, rowvar=False)
```
在 seaborn 中,可以使用 heatmap() 函数绘制数据相关性热力图,也可以使用 pairplot() 函数绘制数据集中各个变量之间的散点图和直方图,并可加入相关性系数。示例代码如下:
```python
import seaborn as sns
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv')
# 绘制相关性热力图
sns.heatmap(data.corr())
# 绘制散点图和直方图,并加入相关性系数
sns.pairplot(data, kind='scatter', diag_kind='hist', markers='+',
plot_kws=dict(s=50, edgecolor='b', linewidth=1),
diag_kws=dict(shade=True),
diag_sharey=False,
hue='target',
corner=True)
```
需要注意的是,相关性分析只能反映变量之间的线性关系,对于非线性关系无法准确反映。
阅读全文