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