Numpy 协方差矩阵 numpy.cov.



我正在使用numpy,想要计算ndarray的协方差矩阵。我正在尝试使用 numpy.cov((,但没有得到正确的结果。更多详情如下。

我的 ndarray 是 768x8,其中 8 是我的数据集中的数字特征。

当我使用 MATLAB 计算协方差矩阵时,我得到一个 8x8(这是我需要的(,但是当我使用 np.cov(( 时,我得到一个不正确的 768x768。我尝试将 rowvar 参数更改为 true,但这不起作用。

对numpy.cov((的正确调用是什么?换句话说,我将如何使用numpy从MATLAB重现cov((结果。

令人惊讶的是,文档可能会告诉您。 应传递rowvar=False以指示列表示变量。

>>> data.shape
(768, 8)
>>> numpy.cov(data, rowvar=False).shape
(8, 8)
默认情况下

,每一行都是观察,每一列都是特征,每个定义在numpi中交换,所以你需要做的就是转置,其中R是矩阵

np.cov(R.T) 

np.cov(R, rowvar = False)

最新更新