package com.yahoo.labs.samoa.learners.classifiers; /* * #%L * SAMOA * %% * Copyright (C) 2013 Yahoo! Inc. * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import java.io.Serializable; import java.util.Map; import com.yahoo.labs.samoa.instances.Instance; import com.yahoo.labs.samoa.instances.Instances; /** * Learner interface for non-distributed learners. * * @author abifet */ public interface LocalLearner extends Serializable { /** * Creates a new learner object. * * @return the learner */ LocalLearner create(); /** * Predicts the class memberships for a given instance. If an instance is * unclassified, the returned array elements must be all zero. * * @param inst * the instance to be classified * @return an array containing the estimated membership probabilities of the * test instance in each class */ double[] getVotesForInstance(Instance inst); /** * Resets this classifier. It must be similar to starting a new classifier * from scratch. * */ void resetLearning(); /** * Trains this classifier incrementally using the given instance. * * @param inst * the instance to be used for training */ void trainOnInstance(Instance inst); /** * Sets where to obtain the information of attributes of Instances * * @param dataset * the dataset that contains the information */ @Deprecated public void setDataset(Instances dataset); }