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 <[email protected]>
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>()