我很想知道是否有一种方法可以使用 ojAlgo 矩阵库找到 MatrixStore 的规范化形式。
也许曾经在 MatrixStore 上执行的例程或任务会导致每一行的平均值为 0,标准差为 1。
如果有人熟悉 sklearn,我正在寻找的是 ojAlgo 上的一些功能,其功能类似于 sklearn 上的预处理模块。
我很想知道是否有一种方法可以使用 ojAlgo 矩阵库找到 MatrixStore 的规范化形式。
也许曾经在 MatrixStore 上执行的例程或任务会导致每一行的平均值为 0,标准差为 1。
如果有人熟悉 sklearn,我正在寻找的是 ojAlgo 上的一些功能,其功能类似于 sklearn 上的预处理模块。
不是直接的。您必须自己编写一些循环和计算。这是一种可能的方法:
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);