相关性分析python
时间: 2023-08-27 14:20:13 浏览: 126
相关性分析
5星 · 资源好评率100%
相关性分析是研究两个或两个以上处于同等地位的随机变量之间的相关关系的统计分析方法。在Python中,可以使用不同的方法来计算相关系数。
一种常用的相关系数是皮尔森相关系数,它可以衡量两个变量之间的线性相关性。在Python中,可以使用pandas和seaborn库来计算并可视化皮尔森相关系数。具体代码如下:
```python
import pandas as pd
from sklearn.datasets import load_iris
import seaborn as sns
import matplotlib.pyplot as plt
X = pd.DataFrame(load_iris().data, columns=load_iris().feature_names)
ax = sns.heatmap(X.corr(), vmax=1, cmap='RdYlGn', annot=True)
plt.show()
```
这段代码会加载鸢尾花数据集,并计算出各个特征之间的皮尔森相关系数,并使用热力图进行可视化。
另一种常用的相关系数是斯皮尔曼相关系数,它可以衡量两个变量之间的单调相关性。在Python中,可以使用pandas和scipy库来计算斯皮尔曼相关系数。具体代码如下:
```python
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
from scipy.stats import spearmanr
X = load_iris().data
# 使用pandas中的corr计算斯皮尔曼相关系数
result_1 = pd.DataFrame(X).corr(method='spearman')
# 使用scipy.stats计算斯皮尔曼相关系数
result_2 = spearmanr(X)[0]
# 使用原始公式计算斯皮尔曼相关系数
result_3 = np.zeros((X.shape - X_sort.iloc[:, j]) ** 2)
result_3[i, j = 1 - 6 * tmp / (X.shape * (X.shape ** 2 - 1))
```
这段代码会加载鸢尾花数据集,并分别计算出各个特征之间的斯皮尔曼相关系数,使用了pandas和scipy库的不同方法。
以上是计算皮尔森相关系数和斯皮尔曼相关系数的示例代码。根据具体的需求和数据类型,可以选择适合的相关系数方法进行分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Python进行相关分析](https://blog.csdn.net/yeshang_lady/article/details/113736292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文