package de.tud.inf.operator.learner.meta; import java.util.Set; import com.rapidminer.example.Attribute; import com.rapidminer.example.ExampleSet; import com.rapidminer.operator.Model; import com.rapidminer.operator.OperatorException; import com.rapidminer.operator.learner.PredictionModel; public class SlidingWindowLearnerModel extends PredictionModel { /** * */ private static final long serialVersionUID = 2946226268493759247L; private ExampleSet trainingSet; private Model predictionModel; private double recentId; private double leastId; private int trainingSetSize; public double getLeastId() { return leastId; } public void setLeastId(double leastId) { this.leastId = leastId; } public int getTrainingSetSize() { return trainingSetSize; } public void setTrainingSize(int size) { this.trainingSetSize = size; } public ExampleSet getTraining() { return trainingSet; } public void setTraining(ExampleSet learning) { this.trainingSet = learning; } public Model getPredictionModel() { return predictionModel; } public void setPredictionModel(Model predictionModel) { this.predictionModel = predictionModel; } public double getRecentId() { return recentId; } public void setRecentId(double recentId) { this.recentId = recentId; } protected SlidingWindowLearnerModel(ExampleSet trainingExampleSet) { super(trainingExampleSet); this.trainingSet = trainingExampleSet; this.recentId = -1; } @Override public ExampleSet performPrediction(ExampleSet exampleSet, Attribute predictedLabel) throws OperatorException { return predictionModel.apply(exampleSet); } @Override public String toString() { StringBuffer buf = new StringBuffer(super.toString()); buf.append("\n"); buf.append("size of training set:\t"); buf.append(this.trainingSetSize); buf.append("\n"); buf.append("least recent id:\t"); buf.append(leastId); buf.append("\n"); buf.append("most recent id:\t"); buf.append(this.recentId); buf.append("\n\n"); buf.append(predictionModel.toString()); return buf.toString(); } }