This is an automated email from the ASF dual-hosted git repository. zaleslaw pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new bf7c6d2 IGNITE-10792: [ML] Add seed to test-train filter (#6946) bf7c6d2 is described below commit bf7c6d2d3659890504262b7ac6b7e603425af44e Author: Alexey Zinoviev <zaleslaw....@gmail.com> AuthorDate: Mon Oct 7 18:07:34 2019 +0300 IGNITE-10792: [ML] Add seed to test-train filter (#6946) --- .../scoring/evaluator/BinaryClassificationEvaluatorTest.java | 6 ++++-- .../ml/selection/scoring/evaluator/RegressionEvaluatorTest.java | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/BinaryClassificationEvaluatorTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/BinaryClassificationEvaluatorTest.java index 99857de..25af7c7 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/BinaryClassificationEvaluatorTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/BinaryClassificationEvaluatorTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.ml.selection.scoring.evaluator; import java.util.HashMap; import java.util.Map; +import java.util.Random; import org.apache.ignite.ml.common.TrainerTest; import org.apache.ignite.ml.dataset.feature.extractor.Vectorizer; import org.apache.ignite.ml.dataset.feature.extractor.impl.DummyVectorizer; @@ -29,6 +30,7 @@ import org.apache.ignite.ml.math.primitives.vector.VectorUtils; import org.apache.ignite.ml.selection.scoring.metric.MetricName; import org.apache.ignite.ml.selection.split.TrainTestDatasetSplitter; import org.apache.ignite.ml.selection.split.TrainTestSplit; +import org.apache.ignite.ml.selection.split.mapper.SHA256UniformMapper; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -73,7 +75,7 @@ public class BinaryClassificationEvaluatorTest extends TrainerTest { KNNClassificationTrainer trainer = new KNNClassificationTrainer().withK(3); - TrainTestSplit<Integer, Vector> split = new TrainTestDatasetSplitter<Integer, Vector>() + TrainTestSplit<Integer, Vector> split = new TrainTestDatasetSplitter<Integer, Vector>(new SHA256UniformMapper<>(new Random(100))) .split(0.75); Vectorizer<Integer, Vector, Integer, Double> vectorizer = new DummyVectorizer<Integer>().labeled(Vectorizer.LabelCoordinate.FIRST); @@ -86,6 +88,6 @@ public class BinaryClassificationEvaluatorTest extends TrainerTest { ); double score = Evaluator.evaluate(cacheMock, split.getTestFilter(), mdl, vectorizer, MetricName.ACCURACY); - assertEquals(0.9, score, 1); + assertEquals(0.9769230769230769, score, 1e-12); } } diff --git a/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/RegressionEvaluatorTest.java b/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/RegressionEvaluatorTest.java index a6ec9e1..26d6302 100644 --- a/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/RegressionEvaluatorTest.java +++ b/modules/ml/src/test/java/org/apache/ignite/ml/selection/scoring/evaluator/RegressionEvaluatorTest.java @@ -19,6 +19,7 @@ package org.apache.ignite.ml.selection.scoring.evaluator; import java.util.HashMap; import java.util.Map; +import java.util.Random; import org.apache.ignite.ml.common.TrainerTest; import org.apache.ignite.ml.dataset.feature.extractor.Vectorizer; import org.apache.ignite.ml.dataset.feature.extractor.impl.DummyVectorizer; @@ -32,6 +33,7 @@ import org.apache.ignite.ml.selection.scoring.metric.MetricName; import org.apache.ignite.ml.selection.scoring.metric.regression.Rss; import org.apache.ignite.ml.selection.split.TrainTestDatasetSplitter; import org.apache.ignite.ml.selection.split.TrainTestSplit; +import org.apache.ignite.ml.selection.split.mapper.SHA256UniformMapper; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -99,7 +101,7 @@ public class RegressionEvaluatorTest extends TrainerTest { KNNRegressionTrainer trainer = new KNNRegressionTrainer().withK(3).withDistanceMeasure(new EuclideanDistance()); - TrainTestSplit<Integer, Vector> split = new TrainTestDatasetSplitter<Integer, Vector>() + TrainTestSplit<Integer, Vector> split = new TrainTestDatasetSplitter<Integer, Vector>(new SHA256UniformMapper<>(new Random(0))) .split(0.5); Vectorizer<Integer, Vector, Integer, Double> vectorizer = new DummyVectorizer<Integer>()