登录
首页精彩阅读利用python库计算person相关系数
利用python库计算person相关系数
2018-02-21
收藏

利用python库计算person相关系数

使用numpy库,可以实现person相关系数的计算,例如对于矩阵a。

[python]
    a  
    Out[235]:   
    array([[1, 1, 2, 2, 3],  
           [2, 2, 3, 3, 5],  
           [1, 4, 2, 2, 3]])  

使用np.corrcoef(a)可计算行与行之间的相关系数,np.corrcoef(a,rowvar=0)用于计算各列之间的相关系数,输出为相关系数矩阵。

[python]
    np.corrcoef(a)  
    Out[236]:   
    array([[ 1.   ,  0.976,  0.105],  
           [ 0.976,  1.   ,  0.179],  
           [ 0.105,  0.179,  1.   ]])  
      
    np.corrcoef(a,rowvar=0)  
    Out[237]:   
    array([[ 1.   , -0.189,  1.   ,  1.   ,  1.   ],  
           [-0.189,  1.   , -0.189, -0.189, -0.189],  
           [ 1.   , -0.189,  1.   ,  1.   ,  1.   ],  
           [ 1.   , -0.189,  1.   ,  1.   ,  1.   ],  
           [ 1.   , -0.189,  1.   ,  1.   ,  1.   ]])  

应用公式0.5*value+0.5可以将相关系数矩阵的值域由[-1,1]映射为[0,1]。

[python]
    np.corrcoef(a)*0.5+0.5  
    Out[238]:   
    array([[ 1.   ,  0.988,  0.552],  
           [ 0.988,  1.   ,  0.59 ],  
           [ 0.552,  0.59 ,  1.   ]]) 

数据分析咨询请扫描二维码

客服在线
立即咨询