def calculate_feature_correlation(instances):
# calculate correlation by feature
feature_correlation = []
for i in range(instances.shape[1]):
feature_vals_i = instances[:,i].transpose().toarray()[0]
for j in range(i+1,instances.shape[1]):
feature_vals_j = instances[:,j].transpose().toarray()[0]
try:
corr,p = stats.pearsonr(feature_vals_i,feature_vals_j)
if math.isnan(corr):
corr = 0
except:
corr = 0
feature_correlation.append([i,j,abs(corr),corr,p])
return feature_correlation
评论列表
文章目录