题解 | 计算协方差矩阵

计算协方差矩阵

https://www.nowcoder.com/practice/063d5b379be447a5aa12f2aa2d05717e

import numpy as np

def calculate_covariance_matrix(vectors):
    n_features, n_obser = len(vectors), len(vectors[0])
    covar_matrix = [[0]*n_features for _ in range(n_features)]
    mus = [sum(vector)/n_obser for vector in vectors]
    for i in range(n_features):
        vectors[i] = [v-mus[i] for v in vectors[i]]
    for i in range(n_features):
        for j in range(n_features):
            covar_matrix[i][j] = sum(v*u for v, u in zip(vectors[i], vectors[j]))/(n_obser-1)
    return covar_matrix
            


# 主程序
if __name__ == "__main__":
    # 输入
    ndarrayA = input()

    # 处理输入
    import ast
    A = ast.literal_eval(ndarrayA)

    # 调用函数计算
    output = calculate_covariance_matrix(A)
    
    # 输出结果
    print(output)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务