我正在使用numpy并且想要为ndarray计算协方差矩阵。我正在尝试使用numpy.cov()但是没有得到正确的结果。更多细节如下。
我的ndarray是768x8,其中8是我数据集中的数字功能。
当我使用MATLAB计算协方差矩阵时,我得到一个8x8(这就是我要求的),但是当我使用np.cov()时,我得到的是768x768,这是不正确的。我尝试将rowvar参数更改为true,但这不起作用。
对numpy.cov()的正确调用是什么?换句话说,我如何使用numpy从MATLAB重现cov()结果。
答案 0 :(得分:12)
令人惊讶的是,documentation可能会告诉你。您应该传递rowvar=False
以指示列代表变量。
>>> data.shape
(768, 8)
>>> numpy.cov(data, rowvar=False).shape
(8, 8)