package org.streaminer.stream.learner; import org.streaminer.stream.model.Model; import java.io.Serializable; /** * This interface defines the learning step of a machine learning * algorithm. All learners must implement this class. * * @author beckers, homburg, mueller, schulte * */ public interface Learner<T, M extends Model> extends Serializable { /** * This method is called after the learner has been created and * all parameters have been set. */ public void init(); /** * Starts or continues to train a model. * * @param item The input for the learning process */ public void learn(T item); /** * Returns the result of the training process. * * @see Model * @return Returns the current {@link Model} of the algorithm */ public M getModel(); }