de.jstacs.classifier.scoringFunctionBased.cll
Class CLLClassifier

java.lang.Object
  extended by de.jstacs.classifier.AbstractClassifier
      extended by de.jstacs.classifier.AbstractScoreBasedClassifier
          extended by de.jstacs.classifier.scoringFunctionBased.ScoreClassifier
              extended by de.jstacs.classifier.scoringFunctionBased.cll.CLLClassifier
All Implemented Interfaces:
Storable, Cloneable

public class CLLClassifier
extends ScoreClassifier

This class implements the conditional log likelihood classifier.

Author:
Jens Keilwagen, Jan Grau

Nested Class Summary
 
Nested classes/interfaces inherited from class de.jstacs.classifier.AbstractScoreBasedClassifier
AbstractScoreBasedClassifier.DoubleTableResult
 
Field Summary
protected  LogPrior prior
          The prior that is used in this instance.
 
Fields inherited from class de.jstacs.classifier.scoringFunctionBased.ScoreClassifier
hasBeenOptimized, params, score, sostream
 
Constructor Summary
CLLClassifier(CLLClassifierParameterSet params, LogPrior prior, ScoringFunction... score)
          The default constructor.
CLLClassifier(CLLClassifierParameterSet params, ScoringFunction... score)
          The default constructor.
CLLClassifier(StringBuffer xml)
          This is the constructor for Storable.
 
Method Summary
 CLLClassifier clone()
           
static CLLClassifier[] create(CLLClassifierParameterSet params, LogPrior prior, ScoringFunction[]... functions)
          This method creates an array of CLLClassifier by using the cross-product of the given ScoringFunctions.
protected  void extractFurtherClassifierInfosFromXML(StringBuffer xml)
          Extracts further information of a classifier from an xml-representation.
protected  NormConditionalLogLikelihood getFunction(Sample[] data, double[][] weights)
          Returns the function the should be optimized
protected  StringBuffer getFurtherClassifierInfos()
          This method returns further information of a classifier as a StringBuffer.
 String getInstanceName()
          Returns a short description of the classifier.
protected  double getScore(Sequence seq, int i, boolean check)
          This method returns the score for a given sequence and a given class.
protected  String getXMLTag()
          Returns the String that is used as tag for the xml-representation.
 void setPrior(LogPrior prior)
          This method set a new prior that should be used for optimization.
 
Methods inherited from class de.jstacs.classifier.scoringFunctionBased.ScoreClassifier
createStructure, doOptimization, getClassifierAnnotation, getLastScore, getNumericalCharacteristics, getScoringFunction, getScoringFunctions, hasBeenOptimized, isTrained, setOutputStream, train
 
Methods inherited from class de.jstacs.classifier.AbstractScoreBasedClassifier
check, check, classify, classify, createDefaultClassWeights, getClassWeight, getClassWeights, getNumberOfClasses, getPValue, getPValue, getResults, getScore, getScores, setClassWeights, setThresholdClassWeights, test
 
Methods inherited from class de.jstacs.classifier.AbstractClassifier
classify, evaluate, evaluateAll, getAlphabetContainer, getCharacteristics, getClassificationRate, getLength, getMeasuresForEvaluate, getMeasuresForEvaluateAll, setNewAlphabetContainerInstance, toXML, train
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

prior

protected LogPrior prior
The prior that is used in this instance.

Constructor Detail

CLLClassifier

public CLLClassifier(CLLClassifierParameterSet params,
                     ScoringFunction... score)
              throws CloneNotSupportedException
The default constructor.

Parameters:
params - the parameter set for the classifier
score - the ScoringFunctions for the classes
Throws:
CloneNotSupportedException - if at least one ScoringFunction could not be cloned

CLLClassifier

public CLLClassifier(CLLClassifierParameterSet params,
                     LogPrior prior,
                     ScoringFunction... score)
              throws CloneNotSupportedException
The default constructor.

Parameters:
params - the parameter set for the classifier
prior - the prior that shall be used
score - the ScoringFunctions for the classes
Throws:
CloneNotSupportedException - if at least one ScoringFunction could not be cloned

CLLClassifier

public CLLClassifier(StringBuffer xml)
              throws NonParsableException
This is the constructor for Storable.

Parameters:
xml - the xml representation
Throws:
NonParsableException - if the representation could not be parsed.
Method Detail

clone

public CLLClassifier clone()
                    throws CloneNotSupportedException
Overrides:
clone in class ScoreClassifier
Throws:
CloneNotSupportedException

getFunction

protected NormConditionalLogLikelihood getFunction(Sample[] data,
                                                   double[][] weights)
                                            throws Exception
Description copied from class: ScoreClassifier
Returns the function the should be optimized

Specified by:
getFunction in class ScoreClassifier
Parameters:
data - the samples
weights - the weights of the sequences of the samples
Returns:
the function the should be optimized
Throws:
Exception - if something went wrong

setPrior

public void setPrior(LogPrior prior)
This method set a new prior that should be used for optimization. Since it could not be ensured that the classifier is optimal now hasBeenOptimized will return false after invokating this method.

Parameters:
prior - the new prior

getXMLTag

protected String getXMLTag()
Description copied from class: AbstractClassifier
Returns the String that is used as tag for the xml-representation. This method is used by the methods fromXML( StringBuffer ) and toXML().

Specified by:
getXMLTag in class ScoreClassifier
Returns:
the String that is used as tag for the xml-representation

getFurtherClassifierInfos

protected StringBuffer getFurtherClassifierInfos()
Description copied from class: AbstractClassifier
This method returns further information of a classifier as a StringBuffer. This method is used by the method toXML() and should not be made public.

Overrides:
getFurtherClassifierInfos in class ScoreClassifier
Returns:
further information of a classifier as a StringBuffer

extractFurtherClassifierInfosFromXML

protected void extractFurtherClassifierInfosFromXML(StringBuffer xml)
                                             throws NonParsableException
Description copied from class: AbstractClassifier
Extracts further information of a classifier from an xml-representation. This method is used by the method fromXML( StringBuffer ) and should not be made public.

Overrides:
extractFurtherClassifierInfosFromXML in class ScoreClassifier
Parameters:
xml - the xml-representation
Throws:
NonParsableException

getScore

protected double getScore(Sequence seq,
                          int i,
                          boolean check)
                   throws IllegalArgumentException,
                          NotTrainedException,
                          Exception
Description copied from class: AbstractScoreBasedClassifier
This method returns the score for a given sequence and a given class.

Overrides:
getScore in class ScoreClassifier
Parameters:
seq - the sequence
i - the index of the class
check - the switch to decide whether to check AlphabetContainer and length of the sequence or not
Returns:
the score
Throws:
IllegalArgumentException
NotTrainedException
Exception

create

public static CLLClassifier[] create(CLLClassifierParameterSet params,
                                     LogPrior prior,
                                     ScoringFunction[]... functions)
                              throws CloneNotSupportedException
This method creates an array of CLLClassifier by using the cross-product of the given ScoringFunctions.

Parameters:
params - the parameters that will be used in all classifiers
prior - the prior that will be used in all classifiers
functions - the ScoringFunctions
  1. functions[i] are the ScoringFunctions that can be used for class i
  2. functions.length has to be at least 2
Returns:
an array of CLLClassifier
Throws:
CloneNotSupportedException - if the some item could not be cloned

getInstanceName

public String getInstanceName()
Description copied from class: AbstractClassifier
Returns a short description of the classifier.

Overrides:
getInstanceName in class ScoreClassifier
Returns:
a short description of the classifier