/* * Created on Apr 14, 2005 * */ package aima.learning.learners; import java.util.ArrayList; import java.util.List; import aima.learning.framework.DataSet; import aima.learning.framework.Example; import aima.learning.framework.Learner; import aima.util.Util; public class MajorityLearner implements Learner { private DataSet dataset; private String result; public void train(DataSet ds) { List targets = new ArrayList(); for (Example e : ds.examples) { targets.add(e.targetValue()); } result = (String) Util.mode(targets); } public String predict(Example e) { return result; } public int[] test(DataSet ds) { int[] results = new int[] { 0, 0 }; for (Example e : ds.examples) { if (e.targetValue().equals(result)) { results[0] = results[0] + 1; } else { results[1] = results[1] + 1; } } return results; } }