题解 | 计算协方差矩阵
计算协方差矩阵
https://www.nowcoder.com/practice/063d5b379be447a5aa12f2aa2d05717e
import numpy as np
def calculate_covariance_matrix(vectors):
# 补全代码
n_features = len(vectors)
n_observations = len(vectors[0])
covariance_matrix = np.zeros([n_features, n_features])
means = [sum(feature) / n_observations for feature in vectors]
for i in range(n_features):
for j in range(i, n_features):
covariance = sum(
(vectors[i][k] - means[i]) * (vectors[j][k] - means[j])
for k in range(n_observations)
) / (n_observations - 1)
covariance_matrix[i][j] = covariance_matrix[j][i] = covariance
return covariance_matrix.tolist()
# 主程序
if __name__ == "__main__":
# 输入
ndarrayA = input()
# 处理输入
import ast
A = ast.literal_eval(ndarrayA)
# 调用函数计算
output = calculate_covariance_matrix(A)
# 输出结果
print(output)

