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>()

Reply via email to