我很想知道是否有一种方法可以使用ojAlgo矩阵库为MatrixStore查找规范化形式。
也许一次在MatrixStore上执行的例程或任务将导致每一行的平均值为0,标准差为1。
如果熟悉sklearn,我正在寻找的是ojAlgo上的某些功能,其功能类似于sklearn上的预处理模块。
答案 0 :(得分: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);