特征降维之相关系数
这里用了
- 皮尔逊相关系数(Pearson Correlation Coefficient)
- 反映变量之间相关关系密切程度的统计指标
公式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QbJ7IySZ-1608184450702)(C:\Users\ASUS\Desktop\6451559c335fbb31eefc6273e2611d6a.svg)]
特点
相关系数的值介于-1与+1之间,即-1<= r <= +1。其性质如下:
- 当r>0时,表示两变量正相关,r<0时,两变量为负相关
- 当|r|=1时,表示两变量为完全相关,当r=0时,表示两变量间无相关关系
- 当0<|r| <1时,表示两变量存在一定程度的相关。且d越接近1,两变量间线性关系越密切;|r|越接近于0,表示两变量的线性相关越弱
- 一般可按三级划分:|r|<0.4为低度相关;0.4 <= r < 0.7为显著性相关;0.7 <= |rl < 1为高度线性相关
API
from scipy.stats import pearsonrx:(N,) array_likey:(N,) array_like Returns:(Pearson's correlation coefficient, p-value)
示例
from scipy.stats import pearsonr
import numpy as np
if __name__ == '__main__':
data = [
[1, 2, 3, 4, 5],
[1, 7, 8, 14, 10],
[1, 12, 13, 24, 15]
]
m = np.array(data)
r = pearsonr(m[:, 1], m[:, 3])
print(r) # 第一个值即为它们之间的相关系数
'''
(0.9999999999999998, 1.3415758552508151e-08)
'''
处理
当特征与特征之间相关性很高的时候,我们可以采取以下措施:
- 选取其中一个
- 加权求和
- 主成分分析

浙公网安备 33010602011771号