Search in sources :

Example 11 with Config

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);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Test(org.junit.Test)

Example 12 with Config

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);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 13 with Config

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);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 14 with Config

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);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config)

Example 15 with Config

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);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) HashSet(java.util.HashSet) Set(java.util.Set) Config(com.typesafe.config.Config) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Aggregations

Config (com.typesafe.config.Config)138 Test (org.junit.Test)120 FeatureVector (com.airbnb.aerosolve.core.FeatureVector)117 Set (java.util.Set)35 HashSet (java.util.HashSet)29 HashMap (java.util.HashMap)19 Map (java.util.Map)19 ActorSystem (akka.actor.ActorSystem)2 ConfigObject (com.typesafe.config.ConfigObject)2 ConfigValue (com.typesafe.config.ConfigValue)2 IOException (java.io.IOException)2 URI (java.net.URI)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 DrillConfig (org.apache.drill.common.config.DrillConfig)2 BeforeClass (org.junit.BeforeClass)2 Example (com.airbnb.aerosolve.core.Example)1 Stopwatch (com.google.common.base.Stopwatch)1 ServerConfig (com.nike.riposte.server.config.ServerConfig)1 ContainerConfig (com.spotify.docker.client.messages.ContainerConfig)1