Python数据挖掘-相关性-相关分析
所需模块
numpy、pandas
相关系数计算
首先使用numpy.mean()方法求出均值,Xsd=numpy.std()方法求出标准差;
然后在通过(X-Xmean)/Xsd公式求出z分数;
最后通过numpy.sum(ZX*ZY)/len(X)
1 import numpy 2 3 X=[ 4 12.5, 15.3, 23.2, 26.4, 33.5, 5 34.4, 39.4, 45.2, 55.4, 60.9] 6 Y=[ 7 21.2, 23.9, 32.9, 34.1, 42.5, 8 43.2, 49.0, 52.8, 59.4, 63.5] 9 10 #均值 11 Xmean=numpy.mean(X) 12 Ymean=numpy.mean(Y) 13 14 #标准差 15 Xsd=numpy.std(X) 16 Ysd=numpy.std(Y) 17 18 #z分数 19 ZX=(X-Xmean)/Xsd 20 ZY=(Y-Ymean)/Ysd 21 22 #相关系数 23 r=numpy.sum(ZX*ZY)/len(X)
使用内置函数直接计算
1、使用numpy的内置方法:numpy.corrcoef(X,Y),X和Y 为两组数据
2、使用pandas的内置方法:首先构造一个数据框,需要分析的两组数据称为两列,然后使用data.corr()
1 #直接调用内置方法 2 numpy.corrcoef(X,Y) 3 4 import pandas 5 data=pandas.DataFrame({ 6 "x":X, 7 "y":Y}) 8 data.corr()