利用python庫計算person相關係數
阿新 • • 發佈:2019-01-09
使用numpy庫,可以實現person相關係數的計算,例如對於矩陣a。
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)用於計算各列之間的相關係數,輸出為相關係數矩陣。
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]。
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. ]])