class MaxAbsScalerPreprocessor implements Preprocessor<K, V>, DeployableObject {

    @Override public LabeledVector apply(K k, V v) {
        LabeledVector res = basePreprocessor.apply(k, v);

        assert res.size() == maxAbs.length;

        for (int i = 0; i < res.size(); i++)
            res.set(i, res.get(i) / maxAbs[i]);

        return res;
    }

    public  MaxAbsScalerPreprocessor(double[] maxAbs, Preprocessor<K, V> basePreprocessor);

}