Python数据分析:相关系数矩阵

【小白从小学Python、C、Java】
【Python全国计算机等级考试】
【Python数据分析考试必会题】
● 标题与摘要
Python数据分析
相关系数矩阵

● 选择题
以下关于相关系数矩阵说法错误的是:
A 对角线的值全为1
B 矩阵中的元素取值范围为[0,1]
C 可以反映数值型特征之间的相关性
D 可以用来检验变量间的多重共线性

● 问题解析

1.在数据分析中,相关系数矩阵是用来反映数据不同特征之间的相关性的。
2.相关系数矩阵中的每一个元素都是:
2.1.两个不同特征之间的相关系数,所以元素的取值范围为[-1,1]。
2.2.相关系数的绝对值越接近1,表示两个特征的相关性越高;若取值为负数,表示两个特征之间是负相关关系,若取值为正值,表示两个特征之间是正相关关系。
2.3.相关系数矩阵的对角线元素反映的是特征自身的相关性,所以都为1。
3.相关系数矩阵可以用来检验变量之间的多重共线性。在数据分析中,多重共线性是指两个或多个特征之间的相关性很高,从而导致在对结果进行预测时,特征之间的重复信息很多,数据分析算法中,PCA(主成分分析)可以用来解决多重共线性问题。
4.numpy和pandas分别实现计算相关系数矩阵:在pandas库中,可以用corr()函数计算相关系数矩阵,如图1所示,在numpy库中,可以用corrcoef()函数计算相关系数矩阵,如图2所示。

​● 附图
图1 pandas实现计算相关系数矩阵

图2 numpy实现计算相关系数矩阵

● 附图代码
import pandas as pd
df = pd.DataFrame({'A':[5,91,3],
'B':[90,15,66],'C':[93,27,3]})
print(df)
corr1=df.corr()
print(corr1)
import numpy as np
array1=np.array([[1, 1, 2, 2, 3],
[2, 2, 3, 3, 5],
[1, 4, 2, 2, 3]])
print(array1)
corr2=np.corrcoef(array1)
print(corr2)

​​● 正确答案
B

● 温馨期待
期待大家提出宝贵建议,互相交流,收获更大,助教:qmy

欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn

  • 10
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Python中,可以使用NumPy和SciPy库来计算相关系数矩阵和主成分分析表达式。 首先,导入所需的库: ```python import numpy as np from scipy.linalg import eig ``` 假设有一个包含m个变量和n个观测值的数据集X,其中每一行表示一个观测值,每一列表示一个变量。可以使用NumPy库中的corrcoef函数计算相关系数矩阵: ```python R = np.corrcoef(X, rowvar=False) ``` 其中,rowvar=False表示每一列表示一个变量。 接着,可以使用SciPy库中的eig函数计算相关系数矩阵的特征值和特征向量: ```python eigenvalues, eigenvectors = eig(R) ``` 其中,eigenvalues是一个包含特征值的向量,eigenvectors是一个包含特征向量的矩阵,每一列表示一个特征向量。 主成分分析表达式可以通过将特征向量和原始数据相乘来求得: ```python P = np.dot(X, eigenvectors) ``` 其中,P是一个包含主成分分析结果的矩阵,每一列表示一个主成分。 注意,主成分分析需要对原始数据进行标准化处理,使得每个变量的均值为0,方差为1。可以使用NumPy库中的mean和std函数来计算均值和标准差,并使用广播机制进行标准化处理: ```python X = (X - np.mean(X, axis=0)) / np.std(X, axis=0) ``` 完整的代码示例: ```python import numpy as np from scipy.linalg import eig # 生成随机数据 X = np.random.rand(100, 5) # 标准化处理 X = (X - np.mean(X, axis=0)) / np.std(X, axis=0) # 计算相关系数矩阵 R = np.corrcoef(X, rowvar=False) # 计算特征值和特征向量 eigenvalues, eigenvectors = eig(R) # 计算主成分分析结果 P = np.dot(X, eigenvectors) print(P) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘经纬老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值