ojAlgo有没有办法规范矩阵?

问题描述 投票:1回答:1

我很想知道是否有办法使用ojAlgo矩阵库为MatrixStore找到规范化形式。

也许曾经在MatrixStore上执行的例程或任务将导致每个行的平均值为0,标准差为1。

如果一个人熟悉sklearn,我正在寻找的是ojAlgo上的一些函数,它的功能与sklearn上的预处理模块类似。

normalization sklearn-pandas ojalgo
1个回答
1
投票

不是直接的。你必须自己编写一些循环和计算。这是一种可行的方法:

PrimitiveDenseStore matrix = ...;

SampleSet sampleSet = SampleSet.make();
for (int j = 0; j < matrix.countColumns(); j++) {
    sampleSet.swap(matrix.sliceColumn(j));
    for (int i = 0; i < matrix.countRows(); i++) {
        matrix.set(i, j, sampleSet.getStandardScore(i));
    }
}

有了ojAlgo,我强烈建议在列中组织数据。

我实际上并没有测试那段代码。可能存在像这样就地更新矩阵的问题。

...

使用v47.1.1(刚刚发布),现在可以这样做:

matrix.modifyAny(DataPreprocessors.STANDARD_SCORE);
© www.soinside.com 2019 - 2024. All rights reserved.