package edu.cmu.minorthird.classify.semisupervised; import java.util.Iterator; import edu.cmu.minorthird.classify.Instance; /** * Trains a SemiSuperisedClassifierLearner using the information in a labeled Dataset. * * @author Edoardo Airoldi * Date: Jul 19, 2004 */ public class DatasetSemiSupervisedClassifierTeacher implements SemiSupervisedClassifierTeacher { private SemiSupervisedDataset dataset; public DatasetSemiSupervisedClassifierTeacher(SemiSupervisedDataset dataset) { this.dataset=dataset; } /** Currently, only support batch learners. */ @Override public SemiSupervisedClassifier train(SemiSupervisedClassifierLearner learner) { //System.out.println("in SemiSupervisedClassifier.train()"); SemiSupervisedBatchClassifierLearner batchLearner = (SemiSupervisedBatchClassifierLearner)learner; return (SemiSupervisedClassifier)batchLearner.batchTrain(dataset); } public Iterator<Instance> instancePool() { //System.out.println("in instancePool()"); // (Edoardo Airoldi) this itearator is empty whenever there are no // unlabeled examples available for semi-supervised learning. return dataset.iteratorOverUnlabeled(); } }