如何在犰狳中使用var/variance函数

How to use var/variance function in armadillo

我应该如何在犰狳中使用 var() 函数?

我有一个矩阵,其中行为 variables/features,列为 observations/instances。

我要获取每一行的方差,这样我就可以确定方差最大的 variables/features。

目前我正在打电话:

auto variances = arma::var(data, 0, 1);

其中 data 是我的矩阵。

据我目前所知,我得到了一个矩阵?文档表明这是正确的。我期望为我的每个矩阵行取回一个具有方差分数的向量。

我可以遍历我的行并单独获取每行的方差,如下所示:

for (auto i = 0; i < data.n_rows; ++i)
    auto rowVariance = arma::var(dataSet.data.row(i));

但我不想这样做。

我想取回一个向量,其中包含矩阵中每一行的方差值,然后对该向量使用 arma::sort_index() 以获得与排序方差对应的一组排序索引。

提前致谢。

原来错误是因为我正在使用 arma::var variances = arma::var(data, 0, 1) 并且应该一直使用 arma::Col<T> variances = arma::var(data, 0, 1) 因为我的数据矩阵是 arma::Mat<T> 类型因为我允许 float 和仅双点精度。

上面来自 vagoberto 的评论让我走上了正确的轨道。