edu.stanford.nlp.classify
Class AbstractLinearClassifierFactory<L,F>

java.lang.Object
  extended by edu.stanford.nlp.classify.AbstractLinearClassifierFactory<L,F>
Type Parameters:
L - The type of the labels in the Dataset and Datum
F - The type of the features in the Dataset and Datum
All Implemented Interfaces:
ClassifierFactory<L,F,Classifier<L,F>>, java.io.Serializable
Direct Known Subclasses:
LinearClassifierFactory, NBLinearClassifierFactory

public abstract class AbstractLinearClassifierFactory<L,F>
extends java.lang.Object
implements ClassifierFactory<L,F,Classifier<L,F>>

Shared methods for training a LinearClassifier. Inheriting classes need to implement the trainWeights method.

Author:
Dan Klein, Sarah Spikes (sdspikes@cs.stanford.edu) (Templatization)
See Also:
Serialized Form

Constructor Summary
AbstractLinearClassifierFactory()
           
 
Method Summary
 LinearClassifier<L,F> trainClassifier(java.util.Collection<Datum<L,F>> examples)
          Takes a Collection of Datum objects and gives you back a Classifier trained on it.
 LinearClassifier<L,F> trainClassifier(GeneralDataset<L,F> data)
          Trains a Classifier on a Dataset.
 Classifier<L,F> trainClassifier(java.util.List<RVFDatum<L,F>> examples)
           
 LinearClassifier<L,F> trainClassifier(java.lang.ref.Reference<java.util.Collection<Datum<L,F>>> ref)
          Takes a Reference to a Collection of Datum objects and gives you back a Classifier trained on them
protected abstract  double[][] trainWeights(GeneralDataset<L,F> dataset)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractLinearClassifierFactory

public AbstractLinearClassifierFactory()
Method Detail

trainClassifier

public Classifier<L,F> trainClassifier(java.util.List<RVFDatum<L,F>> examples)
Specified by:
trainClassifier in interface ClassifierFactory<L,F,Classifier<L,F>>

trainWeights

protected abstract double[][] trainWeights(GeneralDataset<L,F> dataset)

trainClassifier

public LinearClassifier<L,F> trainClassifier(java.util.Collection<Datum<L,F>> examples)
Takes a Collection of Datum objects and gives you back a Classifier trained on it.

Parameters:
examples - Collection of Datum objects to train the classifier on
Returns:
A Classifier trained on it.

trainClassifier

public LinearClassifier<L,F> trainClassifier(java.lang.ref.Reference<java.util.Collection<Datum<L,F>>> ref)
Takes a Reference to a Collection of Datum objects and gives you back a Classifier trained on them

Parameters:
ref - Reference to a Collection of Datum objects to train the classifier on
Returns:
A Classifier trained on a collection of Datum

trainClassifier

public LinearClassifier<L,F> trainClassifier(GeneralDataset<L,F> data)
Trains a Classifier on a Dataset.

Specified by:
trainClassifier in interface ClassifierFactory<L,F,Classifier<L,F>>
Returns:
A Classifier trained on the data.


Stanford NLP Group