Package aima.core.learning.inductive

Examples of aima.core.learning.inductive.DecisionList


  //
  // PRIVATE METHODS
  //
  private DecisionList decisionListLearning(DataSet ds) {
    if (ds.size() == 0) {
      return new DecisionList(positive, negative);
    }
    List<DLTest> possibleTests = testFactory
        .createDLTestsWithAttributeCount(ds, 1);
    DLTest test = getValidTest(possibleTests, ds);
    if (test == null) {
      return new DecisionList(null, FAILURE);
    }
    // at this point there is a test that classifies some subset of examples
    // with the same target value
    DataSet matched = test.matchedExamples(ds);
    DecisionList list = new DecisionList(positive, negative);
    list.add(test, matched.getExample(0).targetValue());
    return list.mergeWith(decisionListLearning(test.unmatchedExamples(ds)));
  }
View Full Code Here


  //
  // PRIVATE METHODS
  //
  private DecisionList decisionListLearning(DataSet ds) {
    if (ds.size() == 0) {
      return new DecisionList(positive, negative);
    }
    List<DLTest> possibleTests = testFactory
        .createDLTestsWithAttributeCount(ds, 1);
    DLTest test = getValidTest(possibleTests, ds);
    if (test == null) {
      return new DecisionList(null, FAILURE);
    }
    // at this point there is a test that classifies some subset of examples
    // with the same target value
    DataSet matched = test.matchedExamples(ds);
    DecisionList list = new DecisionList(positive, negative);
    list.add(test, matched.getExample(0).targetValue());
    return list.mergeWith(decisionListLearning(test.unmatchedExamples(ds)));
  }
View Full Code Here

public class DecisionListTest {

  @Test
  public void testDecisonListWithNoTestsReturnsDefaultValue()
      throws Exception {
    DecisionList dlist = new DecisionList("Yes", "No");
    DataSet ds = DataSetFactory.getRestaurantDataSet();
    Assert.assertEquals("No", dlist.predict(ds.getExample(0)));
  }
View Full Code Here

  }

  @Test
  public void testDecisionListWithSingleTestReturnsTestValueIfTestSuccessful()
      throws Exception {
    DecisionList dlist = new DecisionList("Yes", "No");
    DataSet ds = DataSetFactory.getRestaurantDataSet();

    DLTest test = new DLTest();
    test.add("type", "French");

    dlist.add(test, "test1success");

    Assert.assertEquals("test1success", dlist.predict(ds.getExample(0)));
  }
View Full Code Here

  }

  @Test
  public void testDecisionListFallsThruToNextTestIfOneDoesntMatch()
      throws Exception {
    DecisionList dlist = new DecisionList("Yes", "No");
    DataSet ds = DataSetFactory.getRestaurantDataSet();

    DLTest test1 = new DLTest();
    test1.add("type", "Thai"); // doesn't match first example
    dlist.add(test1, "test1success");

    DLTest test2 = new DLTest();
    test2.add("type", "French");
    dlist.add(test2, "test2success");// matches first example

    Assert.assertEquals("test2success", dlist.predict(ds.getExample(0)));
  }
View Full Code Here

  }

  @Test
  public void testDecisionListFallsThruToDefaultIfNoTestMatches()
      throws Exception {
    DecisionList dlist = new DecisionList("Yes", "No");
    DataSet ds = DataSetFactory.getRestaurantDataSet();

    DLTest test1 = new DLTest();
    test1.add("type", "Thai"); // doesn't match first example
    dlist.add(test1, "test1success");

    DLTest test2 = new DLTest();
    test2.add("type", "Burger");
    dlist.add(test2, "test2success");// doesn't match first example

    Assert.assertEquals("No", dlist.predict(ds.getExample(0)));
  }
View Full Code Here

  }

  @Test
  public void testDecisionListHandlesEmptyDataSet() throws Exception {
    // tests first base case of recursion
    DecisionList dlist = new DecisionList("Yes", "No");

    DLTest test1 = new DLTest();
    test1.add("type", "Thai"); // doesn't match first example
    dlist.add(test1, "test1success");
  }
View Full Code Here

    dlist.add(test1, "test1success");
  }

  @Test
  public void testDecisionListMerge() throws Exception {
    DecisionList dlist1 = new DecisionList("Yes", "No");
    DecisionList dlist2 = new DecisionList("Yes", "No");
    DataSet ds = DataSetFactory.getRestaurantDataSet();

    DLTest test1 = new DLTest();
    test1.add("type", "Thai"); // doesn't match first example
    dlist1.add(test1, "test1success");

    DLTest test2 = new DLTest();
    test2.add("type", "French");
    dlist2.add(test2, "test2success");// matches first example

    DecisionList dlist3 = dlist1.mergeWith(dlist2);
    Assert.assertEquals("test2success", dlist3.predict(ds.getExample(0)));
  }
View Full Code Here

TOP

Related Classes of aima.core.learning.inductive.DecisionList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.