@Test public void testRandomForest() { RandomForest forest = RandomForest.create(10).setNumRandomFeaturesToChoose(10); forest.train(mushroom.getFeatures(), mushroom.getOutcomes()); EvaluationResult res = Evaluator.testClassifier(forest, mushroom.getFeatures(), mushroom.getOutcomes()); assertEquals(1d, res.getAccuracy(), 0.1); }
@Test public void testSerialization() throws IOException { RandomForest forest = RandomForest.create(10).setNumRandomFeaturesToChoose(10); forest.train(mushroom.getFeatures(), mushroom.getOutcomes()); EvaluationResult res = Evaluator.testClassifier(forest, mushroom.getFeatures(), mushroom.getOutcomes()); assertEquals(1d, res.getAccuracy(), 0.1); ByteArrayOutputStream baos = new ByteArrayOutputStream(); RandomForest.serialize(forest, new DataOutputStream(baos)); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); RandomForest deserialized = RandomForest.deserialize(new DataInputStream(bais)); res = Evaluator.testClassifier(deserialized, mushroom.getFeatures(), mushroom.getOutcomes()); assertEquals(1d, res.getAccuracy(), 0.1); }