public void testDLTestReturnsMatchedAndUnmatchedExamplesCorrectly() { DataSet ds = DataSetFactory.getRestaurantDataSet(); DLTest test = new DLTest(); test.add("type", "Burger"); DataSet matched = test.matchedExamples(ds); Assert.AreEqual(4, matched.size()); DataSet unmatched = test.unmatchedExamples(ds); Assert.AreEqual(8, unmatched.size()); }
// // 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)))); }