Repository: ignite Updated Branches: refs/heads/master bdc9e4b91 -> 131847203
IGNITE-5802: Fix all wrong TODO comments in ML component This closes #2340 Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/13184720 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/13184720 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/13184720 Branch: refs/heads/master Commit: 131847203d55f4f3907a7ff62d53ff69345fa605 Parents: bdc9e4b Author: Yury Babak <[email protected]> Authored: Tue Jul 25 15:22:34 2017 +0300 Committer: Pavel Tupitsyn <[email protected]> Committed: Tue Jul 25 15:22:34 2017 +0300 ---------------------------------------------------------------------- .../ml/clustering/KMeansDistributedClusterer.java | 6 +++--- .../ignite/ml/clustering/KMeansLocalClusterer.java | 2 +- .../main/java/org/apache/ignite/ml/math/MathUtils.java | 1 + .../java/org/apache/ignite/ml/math/VectorUtils.java | 7 +++++-- .../ignite/ml/math/decompositions/LUDecomposition.java | 2 +- .../ignite/ml/math/decompositions/QRDecomposition.java | 2 +- .../ml/math/exceptions/MathIllegalNumberException.java | 8 ++++---- .../org/apache/ignite/ml/math/impls/CacheUtils.java | 4 ++-- .../ignite/ml/math/impls/matrix/AbstractMatrix.java | 2 -- .../impls/storage/matrix/DenseOffHeapMatrixStorage.java | 2 +- .../storage/vector/DenseLocalOffHeapVectorStorage.java | 2 +- .../storage/vector/SparseLocalOffHeapVectorStorage.java | 2 +- .../storage/vector/SparseLocalOnHeapVectorStorage.java | 4 ++-- .../apache/ignite/ml/math/impls/vector/CacheVector.java | 4 ++-- .../ignite/ml/math/impls/vector/MapWrapperVector.java | 1 - .../ignite/ml/math/impls/vector/SparseLocalVector.java | 6 +++--- .../apache/ignite/ml/math/impls/vector/VectorView.java | 2 +- .../java/org/apache/ignite/ml/math/util/MatrixUtil.java | 4 ++-- .../regressions/AbstractMultipleLinearRegression.java | 4 ++-- .../ml/regressions/OLSMultipleLinearRegression.java | 2 +- .../src/test/java/org/apache/ignite/ml/TestUtils.java | 2 +- .../apache/ignite/ml/math/benchmark/MathBenchmark.java | 2 +- .../ignite/ml/math/benchmark/VectorBenchmarkTest.java | 2 +- .../ml/math/decompositions/EigenDecompositionTest.java | 2 +- .../ml/math/impls/matrix/MatrixAttributeTest.java | 2 -- .../storage/matrix/MatrixStorageImplementationTest.java | 2 +- .../ignite/ml/math/impls/vector/AbstractVectorTest.java | 4 ++-- .../impls/vector/PivotedVectorViewConstructorTest.java | 2 +- .../ml/math/impls/vector/VectorAttributesTest.java | 2 +- .../ignite/ml/math/impls/vector/VectorFoldMapTest.java | 2 +- .../ml/math/impls/vector/VectorImplementationsTest.java | 12 ++++++------ .../ignite/ml/math/impls/vector/VectorIterableTest.java | 2 +- .../ignite/ml/math/impls/vector/VectorToMatrixTest.java | 4 ++-- .../ml/regressions/OLSMultipleLinearRegressionTest.java | 4 ++-- 34 files changed, 55 insertions(+), 56 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansDistributedClusterer.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansDistributedClusterer.java b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansDistributedClusterer.java index 5f702d2..2ef61ad 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansDistributedClusterer.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansDistributedClusterer.java @@ -80,7 +80,7 @@ public class KMeansDistributedClusterer extends BaseKMeansClusterer<SparseDistri MathIllegalArgumentException, ConvergenceException { SparseDistributedMatrix pointsCp = (SparseDistributedMatrix)points.like(points.rowSize(), points.columnSize()); - // TODO: this copy is very ineffective, just for POC. Immutability of data should be guaranteed by other methods + // TODO: IGNITE-5825, this copy is very ineffective, just for POC. Immutability of data should be guaranteed by other methods // such as logical locks for example. pointsCp.assign(points); @@ -117,10 +117,10 @@ public class KMeansDistributedClusterer extends BaseKMeansClusterer<SparseDistri /** Initialize cluster centers. */ private Vector[] initClusterCenters(SparseDistributedMatrix points, int k) { // Initialize empty centers and point costs. - int ptsCount = points.rowSize(); + int ptsCnt = points.rowSize(); // Initialize the first center to a random point. - Vector sample = localCopyOf(points.viewRow(rnd.nextInt(ptsCount))); + Vector sample = localCopyOf(points.viewRow(rnd.nextInt(ptsCnt))); List<Vector> centers = new ArrayList<>(); List<Vector> newCenters = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansLocalClusterer.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansLocalClusterer.java b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansLocalClusterer.java index 9f2aefb..3d005b4 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansLocalClusterer.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/clustering/KMeansLocalClusterer.java @@ -92,7 +92,7 @@ public class KMeansLocalClusterer extends BaseKMeansClusterer<DenseLocalOnHeapMa } if (j == 0) - // TODO: Process this case more carefully + // TODO: IGNITE-5825, Process this case more carefully centers[i] = localCopyOf(points.viewRow(0)); else centers[i] = localCopyOf(points.viewRow(j - 1)); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/MathUtils.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/MathUtils.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/MathUtils.java index c2164ab..c7b33c3 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/MathUtils.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/MathUtils.java @@ -23,6 +23,7 @@ import org.apache.ignite.ml.math.exceptions.NullArgumentException; * Miscellaneous utility functions. */ public final class MathUtils { + /** */ public static void checkNotNull(Object o) throws NullArgumentException { if (o == null) http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/VectorUtils.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/VectorUtils.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/VectorUtils.java index 061d5ae..6bb0276 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/VectorUtils.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/VectorUtils.java @@ -21,6 +21,9 @@ import java.util.Map; import org.apache.ignite.ml.math.impls.vector.DenseLocalOnHeapVector; import org.apache.ignite.ml.math.impls.vector.MapWrapperVector; +/** + * Some utils for {@link Vector}. + */ public class VectorUtils { /** Create new vector like given vector initialized by zeroes. */ public static Vector zeroesLike(Vector v) { @@ -33,7 +36,7 @@ public class VectorUtils { } /** */ - public static Vector fromMap(Map<Integer, Double> value, boolean copy) { - return new MapWrapperVector(value); + public static Vector fromMap(Map<Integer, Double> val, boolean cp) { + return new MapWrapperVector(val); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/LUDecomposition.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/LUDecomposition.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/LUDecomposition.java index 4c388b3..df7b6cd 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/LUDecomposition.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/LUDecomposition.java @@ -35,7 +35,7 @@ import static org.apache.ignite.ml.math.util.MatrixUtil.likeVector; * @see <a href="http://mathworld.wolfram.com/LUDecomposition.html">MathWorld</a> * @see <a href="http://en.wikipedia.org/wiki/LU_decomposition">Wikipedia</a> * - * TODO: Maybe we should make this class (and other decompositions) Externalizable. + * TODO: IGNITE-5828, Maybe we should make this class (and other decompositions) Externalizable. */ public class LUDecomposition implements Destroyable { /** Default bound to determine effective singularity in LU decomposition. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/QRDecomposition.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/QRDecomposition.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/QRDecomposition.java index 5ffa574..3d0bb5d 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/QRDecomposition.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/decompositions/QRDecomposition.java @@ -227,7 +227,7 @@ public class QRDecomposition implements Destroyable { * @throws SingularMatrixException if the matrix is singular and {@code raise} is {@code true}. */ private static boolean checkSingular(Matrix r, double min, boolean raise) { - // TODO: Not a very fast approach for distributed matrices. would be nice if we could independently check + // TODO: IGNITE-5828, Not a very fast approach for distributed matrices. would be nice if we could independently check // parts on different nodes for singularity and do fold with 'or'. final int len = r.columnSize(); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/exceptions/MathIllegalNumberException.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/exceptions/MathIllegalNumberException.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/exceptions/MathIllegalNumberException.java index 2e7280b..b2abf63 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/exceptions/MathIllegalNumberException.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/exceptions/MathIllegalNumberException.java @@ -28,7 +28,7 @@ public class MathIllegalNumberException extends MathIllegalArgumentException { private static final long serialVersionUID = -7447085893598031110L; /** Requested. */ - private final Number argument; + private final Number arg; /** * Construct an exception. @@ -39,13 +39,13 @@ public class MathIllegalNumberException extends MathIllegalArgumentException { */ protected MathIllegalNumberException(String msg, Number wrong, Object... arguments) { super(msg, wrong, arguments); - argument = wrong; + arg = wrong; } /** * @return the requested value. */ - public Number getArgument() { - return argument; + public Number getArg() { + return arg; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/CacheUtils.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/CacheUtils.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/CacheUtils.java index 369840b..2c519f0 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/CacheUtils.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/CacheUtils.java @@ -30,6 +30,7 @@ import org.apache.ignite.cache.query.ScanQuery; import org.apache.ignite.cluster.ClusterGroup; import org.apache.ignite.cluster.ClusterNode; import org.apache.ignite.internal.processors.cache.CacheEntryImpl; +import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteCallable; import org.apache.ignite.lang.IgnitePredicate; @@ -43,12 +44,11 @@ import org.apache.ignite.ml.math.functions.IgniteDoubleFunction; import org.apache.ignite.ml.math.functions.IgniteFunction; import org.apache.ignite.ml.math.impls.matrix.BlockEntry; import org.apache.ignite.ml.math.impls.storage.matrix.BlockMatrixKey; -import org.apache.ignite.internal.util.typedef.internal.A; /** * Distribution-related misc. support. * - * TODO: IGNITE-5102, fix sparse key filters + * TODO: IGNITE-5102, fix sparse key filters. */ public class CacheUtils { /** http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/matrix/AbstractMatrix.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/matrix/AbstractMatrix.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/matrix/AbstractMatrix.java index 3dc9b43..647ebc6 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/matrix/AbstractMatrix.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/matrix/AbstractMatrix.java @@ -44,8 +44,6 @@ import org.apache.ignite.ml.math.impls.vector.MatrixVectorView; * interface to minimize the effort required to implement it. * Subclasses may override some of the implemented methods if a more * specific or optimized implementation is desirable. - * - * TODO: add row/column optimization. */ public abstract class AbstractMatrix implements Matrix { // Stochastic sparsity analysis. http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java index 62060d1..7405a4e 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/matrix/DenseOffHeapMatrixStorage.java @@ -33,7 +33,7 @@ public class DenseOffHeapMatrixStorage implements MatrixStorage { private int cols; /** */ private transient long ptr; - //TODO: temp solution. + //TODO: IGNITE-5535, temp solution. /** */ private int ptrInitHash; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/DenseLocalOffHeapVectorStorage.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/DenseLocalOffHeapVectorStorage.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/DenseLocalOffHeapVectorStorage.java index a9965cc..71b7793 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/DenseLocalOffHeapVectorStorage.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/DenseLocalOffHeapVectorStorage.java @@ -33,7 +33,7 @@ public class DenseLocalOffHeapVectorStorage implements VectorStorage { /** */ private transient long ptr; - //TODO: temp solution. + //TODO: IGNITE-5535, temp solution. /** */ private int ptrInitHash; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOffHeapVectorStorage.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOffHeapVectorStorage.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOffHeapVectorStorage.java index f6148c8..a858364 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOffHeapVectorStorage.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOffHeapVectorStorage.java @@ -76,7 +76,7 @@ public class SparseLocalOffHeapVectorStorage implements VectorStorage { /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { - throw new UnsupportedOperationException(); // TODO: add externalization support. + throw new UnsupportedOperationException(); // TODO: IGNITE-5801, add externalization support. } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOnHeapVectorStorage.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOnHeapVectorStorage.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOnHeapVectorStorage.java index 5145376..deef010 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOnHeapVectorStorage.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/storage/vector/SparseLocalOnHeapVectorStorage.java @@ -47,7 +47,7 @@ public class SparseLocalOnHeapVectorStorage implements VectorStorage, StorageCon } /** */ - public SparseLocalOnHeapVectorStorage(Map<Integer, Double> map, boolean copy) { + public SparseLocalOnHeapVectorStorage(Map<Integer, Double> map, boolean cp) { assert map.size() > 0; this.size = map.size(); @@ -59,7 +59,7 @@ public class SparseLocalOnHeapVectorStorage implements VectorStorage, StorageCon else acsMode = UNKNOWN_STORAGE_MODE; - if (copy) + if (cp) switch (acsMode) { case SEQUENTIAL_ACCESS_MODE: sto = new Int2DoubleRBTreeMap(map); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/CacheVector.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/CacheVector.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/CacheVector.java index f78113c..fec230f 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/CacheVector.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/CacheVector.java @@ -88,8 +88,8 @@ public class CacheVector<K, V> extends AbstractVector { /** {@inheritDoc} */ @Override public Vector map(IgniteBiFunction<Double, Double, Double> fun, double y) { - // TODO: provide cache-optimized implementation. - return super.map(fun, y); // TODO + // TODO: IGNTIE-5723, provide cache-optimized implementation. + return super.map(fun, y); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/MapWrapperVector.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/MapWrapperVector.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/MapWrapperVector.java index a093d0e..83b40c1 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/MapWrapperVector.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/MapWrapperVector.java @@ -26,7 +26,6 @@ import org.apache.ignite.ml.math.impls.storage.matrix.MapWrapperStorage; * Vector wrapping a given map. */ public class MapWrapperVector extends AbstractVector { - /** * Construct a vector wrapping given map. * http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/SparseLocalVector.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/SparseLocalVector.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/SparseLocalVector.java index be5d0f6..9e345bb 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/SparseLocalVector.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/SparseLocalVector.java @@ -37,10 +37,10 @@ public class SparseLocalVector extends AbstractVector implements StorageConstant /** * @param map Underlying map. - * @param copy Should given map be copied. + * @param cp Should given map be copied. */ - public SparseLocalVector(Map<Integer, Double> map, boolean copy) { - setStorage(new SparseLocalOnHeapVectorStorage(map, copy)); + public SparseLocalVector(Map<Integer, Double> map, boolean cp) { + setStorage(new SparseLocalOnHeapVectorStorage(map, cp)); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/VectorView.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/VectorView.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/VectorView.java index 0988059..071c6ed 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/VectorView.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/impls/vector/VectorView.java @@ -60,7 +60,7 @@ public class VectorView extends AbstractVector { /** {@inheritDoc} */ @Override public Vector copy() { - // TODO: revise this + // TODO: IGNTIE-5723, revise this DelegateVectorStorage sto = storage(); return new VectorView(sto.delegate(), sto.offset(), sto.length()); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java index 7a90ba1..752929d 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/util/MatrixUtil.java @@ -53,7 +53,7 @@ public class MatrixUtil { */ public static Matrix identityLike(Matrix matrix, int n) { Matrix res = like(matrix, n, n); - // TODO: Maybe we should introduce API for walking(and changing) matrix in + // TODO: IGNITE-5216, Maybe we should introduce API for walking(and changing) matrix in. // a fastest possible visiting order. for (int i = 0; i < n; i++) res.setX(i, i, 1.0); @@ -143,7 +143,7 @@ public class MatrixUtil { return res; } - /** TODO: rewrite in a more optimal way. */ + /** TODO: IGNTIE-5723, rewrite in a more optimal way. */ public static DenseLocalOnHeapVector localCopyOf(Vector vec) { DenseLocalOnHeapVector res = new DenseLocalOnHeapVector(vec.size()); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/regressions/AbstractMultipleLinearRegression.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/regressions/AbstractMultipleLinearRegression.java b/modules/ml/src/main/java/org/apache/ignite/ml/regressions/AbstractMultipleLinearRegression.java index d558dc0..a2a8f16 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/regressions/AbstractMultipleLinearRegression.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/regressions/AbstractMultipleLinearRegression.java @@ -138,7 +138,7 @@ public abstract class AbstractMultipleLinearRegression implements MultipleLinear throw new NullArgumentException(); if (y.size() == 0) throw new NoDataException(); - // TODO: Should we copy here? + // TODO: IGNITE-5826, Should we copy here? yVector = y; } @@ -174,7 +174,7 @@ public abstract class AbstractMultipleLinearRegression implements MultipleLinear if (x.rowSize() == 0) throw new NoDataException(); if (noIntercept) - // TODO: Should we copy here? + // TODO: IGNITE-5826, Should we copy here? xMatrix = x; else { // Augment design matrix with initial unitary column xMatrix = MatrixUtil.like(x, x.rowSize(), x.columnSize() + 1); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/main/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegression.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegression.java b/modules/ml/src/main/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegression.java index c53a77e..36d5f2c 100644 --- a/modules/ml/src/main/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegression.java +++ b/modules/ml/src/main/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegression.java @@ -155,7 +155,7 @@ public class OLSMultipleLinearRegression extends AbstractMultipleLinearRegressio if (isNoIntercept()) return getY().foldMap(Functions.PLUS, Functions.SQUARE, 0.0); else { - // TODO: think about incremental update formula. + // TODO: IGNITE-5826, think about incremental update formula. final double mean = getY().sum() / getY().size(); return getY().foldMap(Functions.PLUS, x -> (mean - x) * (mean - x), 0.0); } http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/TestUtils.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/TestUtils.java b/modules/ml/src/test/java/org/apache/ignite/ml/TestUtils.java index 9c3b4c9..62fdf2c 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/TestUtils.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/TestUtils.java @@ -160,7 +160,7 @@ public class TestUtils { double eij = exp.getX(i, j); double aij = actual.getX(i, j); - // TODO: Check precision here. + // TODO: IGNITE-5824, Check precision here. Assert.assertEquals(eij, aij, 0.0); } } http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/MathBenchmark.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/MathBenchmark.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/MathBenchmark.java index 33ccfc9..69737f7 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/MathBenchmark.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/MathBenchmark.java @@ -197,7 +197,7 @@ class MathBenchmark { /** */ interface BenchmarkCode { - // todo find out why Callable<Void> failed to work here + //TODO: IGNITE-5827, find out why Callable<Void> failed to work here /** */ void call() throws Exception; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/VectorBenchmarkTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/VectorBenchmarkTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/VectorBenchmarkTest.java index fd98382..98a93d9 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/VectorBenchmarkTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/benchmark/VectorBenchmarkTest.java @@ -30,7 +30,7 @@ import static org.junit.Assert.assertNotNull; /** */ public class VectorBenchmarkTest { - // todo add benchmarks for other methods in Vector and for other types of Vector and Matrix + //TODO: IGNITE-5827, add benchmarks for other methods in Vector and for other types of Vector and Matrix /** */ @Test http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/decompositions/EigenDecompositionTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/decompositions/EigenDecompositionTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/decompositions/EigenDecompositionTest.java index d283ce7..76aca0b 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/decompositions/EigenDecompositionTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/decompositions/EigenDecompositionTest.java @@ -78,7 +78,7 @@ public class EigenDecompositionTest { {0.0d, 1.0d, 0.0d}, {0.0d, 0.0d, 2.0d}, {1.0d, 1.0d, 0.0d}})); - // todo find out why decomposition of 3X4 matrix throws row index exception + // TODO: IGNITE-5828, find out why decomposition of 3X4 matrix throws row index exception Matrix d = decomposition.getD(); Matrix v = decomposition.getV(); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/matrix/MatrixAttributeTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/matrix/MatrixAttributeTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/matrix/MatrixAttributeTest.java index 79cb13a..c645bd7 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/matrix/MatrixAttributeTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/matrix/MatrixAttributeTest.java @@ -27,8 +27,6 @@ import static org.junit.Assert.assertEquals; /** * Attribute tests for matrices. - * - * TODO: WIP */ public class MatrixAttributeTest { /** */ http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/storage/matrix/MatrixStorageImplementationTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/storage/matrix/MatrixStorageImplementationTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/storage/matrix/MatrixStorageImplementationTest.java index 72daeca..7f1b6b3 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/storage/matrix/MatrixStorageImplementationTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/storage/matrix/MatrixStorageImplementationTest.java @@ -28,7 +28,7 @@ import static org.junit.Assert.assertTrue; /** * Unit tests for {@link MatrixStorage} implementations. * - * TODO: add attribute tests. + * TODO: IGNITE-5723, add attribute tests. */ public class MatrixStorageImplementationTest extends ExternalizeTest<MatrixStorage> { /** http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/AbstractVectorTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/AbstractVectorTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/AbstractVectorTest.java index a7954cd..be7532f 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/AbstractVectorTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/AbstractVectorTest.java @@ -357,7 +357,7 @@ public class AbstractVectorTest { */ @SuppressWarnings("ClassWithoutNoArgConstructor") private AbstractVector getAbstractVector(VectorStorage storage) { - return new AbstractVector(storage) { // TODO: find out how to fix warning about missing constructor + return new AbstractVector(storage) { // TODO: IGNTIE-5723, find out how to fix warning about missing constructor /** {@inheritDoc} */ @Override public boolean isDense() { return false; @@ -426,7 +426,7 @@ public class AbstractVectorTest { * @return AbstractVector. */ private AbstractVector getAbstractVector() { - return new AbstractVector() { // TODO: find out how to fix warning about missing constructor + return new AbstractVector() { // TODO: IGNTIE-5723, find out how to fix warning about missing constructor /** {@inheritDoc} */ @Override public boolean isDense() { return false; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/PivotedVectorViewConstructorTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/PivotedVectorViewConstructorTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/PivotedVectorViewConstructorTest.java index 72be324..f07a3fd 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/PivotedVectorViewConstructorTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/PivotedVectorViewConstructorTest.java @@ -177,7 +177,7 @@ public class PivotedVectorViewConstructorTest { } /** */ - private static class Metric { // todo consider if softer tolerance (like say 0.1 or 0.01) would make sense here + private static class Metric { // TODO: IGNITE-5824, consider if softer tolerance (like say 0.1 or 0.01) would make sense here /** */ private final double exp; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorAttributesTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorAttributesTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorAttributesTest.java index e2f6a40..52232ca 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorAttributesTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorAttributesTest.java @@ -75,7 +75,7 @@ public class VectorAttributesTest { "isRandomAccess", "isDistributed"), new Specification(new MatrixVectorView(new DenseLocalOnHeapMatrix(1, 1), 0, 0, 1, 1), DenseLocalOnHeapVector.class, "isDense", - "isRandomAccess", "isDistributed"), // todo find out why "isSequentialAccess" fails here + "isRandomAccess", "isDistributed"), // TODO: IGNTIE-5723, find out why "isSequentialAccess" fails here new Specification(new MatrixVectorView(new DenseLocalOffHeapMatrix(1, 1), 0, 0, 1, 1), DenseLocalOffHeapVector.class, "isDense", "isRandomAccess", "isDistributed")); http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorFoldMapTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorFoldMapTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorFoldMapTest.java index 676bb17..d18dff2 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorFoldMapTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorFoldMapTest.java @@ -101,7 +101,7 @@ public class VectorFoldMapTest { private void operationVectorTest(BiFunction<Double, Double, Double> operation, BiFunction<Vector, Vector, Vector> vecOperation) { consumeSampleVectors((v, desc) -> { - // TODO find out if more elaborate testing scenario is needed or it's okay as is. + // TODO: IGNTIE-5723, find out if more elaborate testing scenario is needed or it's okay as is. final int size = v.size(); final double[] ref = new double[size]; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorImplementationsTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorImplementationsTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorImplementationsTest.java index 48dcc36..8075b29 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorImplementationsTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorImplementationsTest.java @@ -39,7 +39,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; /** See also: {@link AbstractVectorTest} and {@link VectorToMatrixTest}. */ -public class VectorImplementationsTest { // todo split this to smaller cohesive test classes +public class VectorImplementationsTest { // TODO: IGNTIE-5723, split this to smaller cohesive test classes /** */ @Test public void vectorImplementationsFixturesTest() { @@ -95,7 +95,7 @@ public class VectorImplementationsTest { // todo split this to smaller cohesive public void operateXOutOfBoundsTest() { consumeSampleVectors((v, desc) -> { if (v instanceof DenseLocalOffHeapVector || v instanceof SparseLocalVector || v instanceof SparseLocalOffHeapVector) - return; // todo find out if it's OK to skip by instances here + return; // TODO: IGNTIE-5723, find out if it's OK to skip by instances here boolean expECaught = false; @@ -485,7 +485,7 @@ public class VectorImplementationsTest { // todo split this to smaller cohesive @Override public void externalizeTest() { consumeSampleVectors((v, desc) -> { if (v instanceof SparseLocalOffHeapVector) - return; //TODO: wait till SparseLocalOffHeapVector externalization support. + return; //TODO: IGNITE-5801, wait till SparseLocalOffHeapVector externalization support. externalizeTest(v); }); @@ -501,7 +501,7 @@ public class VectorImplementationsTest { // todo split this to smaller cohesive /** */ private boolean getXOutOfBoundsOK(Vector v) { - // todo find out if this is indeed OK + // TODO: IGNTIE-5723, find out if this is indeed OK return v instanceof RandomVector || v instanceof ConstantVector || v instanceof SingleElementVector || v instanceof SingleElementVectorView; } @@ -569,7 +569,7 @@ public class VectorImplementationsTest { // todo split this to smaller cohesive private void operationVectorTest(BiFunction<Double, Double, Double> operation, BiFunction<Vector, Vector, Vector> vecOperation) { consumeSampleVectors((v, desc) -> { - // TODO find out if more elaborate testing scenario is needed or it's okay as is. + // TODO : IGNTIE-5723, find out if more elaborate testing scenario is needed or it's okay as is. final int size = v.size(); final double[] ref = new double[size]; @@ -827,7 +827,7 @@ public class VectorImplementationsTest { // todo split this to smaller cohesive } /** */ - static class Metric { // todo consider if softer tolerance (like say 0.1 or 0.01) would make sense here + static class Metric { //TODO: IGNITE-5824, consider if softer tolerance (like say 0.1 or 0.01) would make sense here /** */ private final double exp; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorIterableTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorIterableTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorIterableTest.java index 16c2571..6400c80 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorIterableTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorIterableTest.java @@ -148,7 +148,7 @@ public class VectorIterableTest { /** */ @Test public void nonZeroesTest() { - // todo make RandomVector constructor that accepts a function and use it here + // TODO: IGNTIE-5723, make RandomVector constructor that accepts a function and use it here. // in order to *reliably* test non-zeroes in there consumeSampleVectors( (v, desc) -> consumeSampleVectorsWithZeroes(v, (vec, numZeroes) http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorToMatrixTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorToMatrixTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorToMatrixTest.java index 4d5bc56..a003dcf 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorToMatrixTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/math/impls/vector/VectorToMatrixTest.java @@ -268,7 +268,7 @@ public class VectorToMatrixTest { put(DenseLocalOffHeapVector.class, DenseLocalOffHeapMatrix.class); put(RandomVector.class, RandomMatrix.class); put(SparseLocalVector.class, SparseLocalOnHeapMatrix.class); - put(SingleElementVector.class, null); // todo find out if we need SingleElementMatrix to match, or skip it + put(SingleElementVector.class, null); // TODO: IGNTIE-5723, find out if we need SingleElementMatrix to match, or skip it. put(ConstantVector.class, null); put(FunctionVector.class, null); put(PivotedVectorView.class, DenseLocalOnHeapMatrix.class); // IMPL NOTE per fixture @@ -280,7 +280,7 @@ public class VectorToMatrixTest { } /** */ - private static class Metric { // todo consider if softer tolerance (like say 0.1 or 0.01) would make sense here + private static class Metric { //TODO: IGNITE-5824, consider if softer tolerance (like say 0.1 or 0.01) would make sense here. /** */ private final double exp; http://git-wip-us.apache.org/repos/asf/ignite/blob/13184720/modules/ml/src/test/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegressionTest.java ---------------------------------------------------------------------- diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegressionTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegressionTest.java index 7f76750..c0069b5 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegressionTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/regressions/OLSMultipleLinearRegressionTest.java @@ -186,7 +186,7 @@ public class OLSMultipleLinearRegressionTest extends AbstractMultipleLinearRegre Assert.assertEquals(0.995479004577296, mdl.calculateRSquared(), 1E-12); Assert.assertEquals(0.992465007628826, mdl.calculateAdjustedRSquared(), 1E-12); - // TODO: uncomment + // TODO: IGNITE-5826, uncomment. // checkVarianceConsistency(model); // Estimate model without intercept @@ -336,7 +336,7 @@ public class OLSMultipleLinearRegressionTest extends AbstractMultipleLinearRegre Assert.assertEquals(0.649789742860228, mdl.calculateRSquared(), 1E-12); Assert.assertEquals(0.6164363850373927, mdl.calculateAdjustedRSquared(), 1E-12); - // TODO: uncomment + // TODO: IGNITE-5826, uncomment. // checkVarianceConsistency(model); // Estimate the model with no intercept
