use of com.typesafe.config.Config in project aerosolve by airbnb.
the class CrossTransformTest method testEmptyFeatureVector.
@Test
public void testEmptyFeatureVector() {
Config config = ConfigFactory.parseString(makeConfig());
Transform transform = TransformFactory.createTransform(config, "test_cross");
FeatureVector featureVector = new FeatureVector();
transform.doTransform(featureVector);
assertTrue(featureVector.getStringFeatures() == null);
}
use of com.typesafe.config.Config in project aerosolve by airbnb.
the class DateValTransformTest method testMonthOfDateTransform.
@Test
public void testMonthOfDateTransform() {
Config config = ConfigFactory.parseString(makeConfig("month"));
Transform transform = TransformFactory.createTransform(config, "test_date");
FeatureVector featureVector = makeFeatureVector();
transform.doTransform(featureVector);
Map<String, Map<String, Double>> floatFeatures = featureVector.getFloatFeatures();
assertTrue(floatFeatures.size() == 1);
Map<String, Double> out = floatFeatures.get("bar");
assertEquals(out.get("2009-03-01"), 3, 0.1);
assertEquals(out.get("2009-02-27"), 2, 0.1);
}
use of com.typesafe.config.Config in project aerosolve by airbnb.
the class DateValTransformTest method testYearOfDateTransform.
@Test
public void testYearOfDateTransform() {
Config config = ConfigFactory.parseString(makeConfig("year"));
Transform transform = TransformFactory.createTransform(config, "test_date");
FeatureVector featureVector = makeFeatureVector();
transform.doTransform(featureVector);
Map<String, Map<String, Double>> floatFeatures = featureVector.getFloatFeatures();
assertTrue(floatFeatures.size() == 1);
Map<String, Double> out = floatFeatures.get("bar");
assertEquals(out.get("2009-03-01"), 2009, 0.1);
assertEquals(out.get("2009-02-27"), 2009, 0.1);
}
use of com.typesafe.config.Config in project aerosolve by airbnb.
the class DecisionTreeTransformTest method testTransformAt.
public void testTransformAt(double x, double y, String expectedLeaf, double expectedOutput) {
Config config = ConfigFactory.parseString(makeConfig());
Transform transform = TransformFactory.createTransform(config, "test_tree");
FeatureVector featureVector;
featureVector = makeFeatureVector(x, y);
transform.doTransform(featureVector);
Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
assertEquals(2, stringFeatures.size());
Set<String> out = featureVector.stringFeatures.get("LEAF");
for (String entry : out) {
log.info(entry);
}
assertTrue(out.contains(expectedLeaf));
Map<String, Double> treeOutput = featureVector.floatFeatures.get("SCORE");
assertTrue(treeOutput.containsKey("TREE0"));
assertEquals(expectedOutput, treeOutput.get("TREE0"), 0.1);
}
use of com.typesafe.config.Config in project aerosolve by airbnb.
the class DefaultStringTokenizerTransformTest method testTransformWithBigrams.
@Test
public void testTransformWithBigrams() {
Config config = ConfigFactory.parseString(makeConfig("\"\"\"[\\s\\p{Punct}]\"\"\"", true));
Transform transform = TransformFactory.createTransform(config, "test_tokenizer");
FeatureVector featureVector = makeFeatureVector();
transform.doTransform(featureVector);
Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
Map<String, Map<String, Double>> floatFeatures = featureVector.getFloatFeatures();
assertEquals(1, stringFeatures.size());
assertEquals(2, floatFeatures.size());
Map<String, Double> output = floatFeatures.get("bar");
assertEquals(11, output.size());
assertEquals(1.0, output.get("apple"), 0.0);
assertEquals(1.0, output.get("blueberry"), 0.0);
assertEquals(2.0, output.get("blue"), 0.0);
assertEquals(3.0, output.get("like"), 0.0);
assertEquals(1.0, output.get("excited"), 0.0);
assertEquals(1.0, output.get("and"), 0.0);
assertEquals(4.0, output.get("I"), 0.0);
assertEquals(1.0, output.get("also"), 0.0);
assertEquals(1.0, output.get("so"), 0.0);
assertEquals(2.0, output.get("pie"), 0.0);
assertEquals(1.0, output.get("m"), 0.0);
Map<String, Double> bigrams = floatFeatures.get("bigrams");
assertEquals(14, bigrams.size());
assertEquals(2.0, bigrams.get("I" + NgramTransform.BIGRAM_SEPARATOR + "like"), 0.0);
assertEquals(1.0, bigrams.get("like" + NgramTransform.BIGRAM_SEPARATOR + "blueberry"), 0.0);
assertEquals(1.0, bigrams.get("blueberry" + NgramTransform.BIGRAM_SEPARATOR + "pie"), 0.0);
assertEquals(1.0, bigrams.get("pie" + NgramTransform.BIGRAM_SEPARATOR + "apple"), 0.0);
assertEquals(1.0, bigrams.get("apple" + NgramTransform.BIGRAM_SEPARATOR + "pie"), 0.0);
assertEquals(1.0, bigrams.get("pie" + NgramTransform.BIGRAM_SEPARATOR + "and"), 0.0);
assertEquals(1.0, bigrams.get("and" + NgramTransform.BIGRAM_SEPARATOR + "I"), 0.0);
assertEquals(1.0, bigrams.get("I" + NgramTransform.BIGRAM_SEPARATOR + "also"), 0.0);
assertEquals(1.0, bigrams.get("also" + NgramTransform.BIGRAM_SEPARATOR + "like"), 0.0);
assertEquals(2.0, bigrams.get("like" + NgramTransform.BIGRAM_SEPARATOR + "blue"), 0.0);
assertEquals(1.0, bigrams.get("I" + NgramTransform.BIGRAM_SEPARATOR + "m"), 0.0);
assertEquals(1.0, bigrams.get("m" + NgramTransform.BIGRAM_SEPARATOR + "so"), 0.0);
assertEquals(1.0, bigrams.get("so" + NgramTransform.BIGRAM_SEPARATOR + "excited"), 0.0);
assertEquals(1.0, bigrams.get("excited" + NgramTransform.BIGRAM_SEPARATOR + "I"), 0.0);
}
Aggregations