题解 | 计算相关矩阵
计算相关矩阵
https://www.nowcoder.com/practice/c77d4235776146329eda2ebfc9f8a2a1
import numpy as np
def calculate_correlation_matrix(X, Y=None):
# Your code here
if Y is None:
Y=X
#X 是形如 [[1, 2], [3, 4], [5, 6]],即 每行是一个样本,每列是一个特征
# 转置:每行是一个变量,每列是一个样本
X=X.T
Y=Y.T
d=X.shape[0]
big=np.cov(X,Y,bias=True)
cov_xy=big[:d,d:]
# print(cov_xy)
var_x=np.var(X,axis=1,ddof=0)
var_y=np.var(Y,axis=1,ddof=0)
# print(var_x)
sqrtx=np.sqrt(var_x)
sqrty=np.sqrt(var_y)
return np.divide(cov_xy,np.outer(sqrtx,sqrty))
if __name__ == "__main__":
X = np.array(eval(input()))
print(calculate_correlation_matrix(X))
查看20道真题和解析