weka.classifiers
Class EnsembleClassifier

java.lang.Object
  extended byweka.classifiers.Classifier
      extended byweka.classifiers.DistributionClassifier
          extended byweka.classifiers.EnsembleClassifier
All Implemented Interfaces:
AdditionalMeasureProducer, java.lang.Cloneable, java.io.Serializable
Direct Known Subclasses:
AdaBoostM1, Bagging, DEC, Decorate, QBag, QBoost, SemiSupDecorate, TestEnsembleClassifier

public abstract class EnsembleClassifier
extends DistributionClassifier
implements AdditionalMeasureProducer

Abstract class for Ensemble Classifiers

See Also:
Serialized Form

Field Summary
protected  double[] m_EnsembleWts
          Vote weights of ensemble members
protected  double m_SumEnsembleWts
          Sum of ensemble weights
protected  double m_TrainEnsembleDiversity
          the ensemble diversity computed in the training data
protected  double m_TrainEnsembleError
          the average error of the ensemble on the training data
protected  double m_TrainError
          the error on the training data
 
Constructor Summary
EnsembleClassifier()
           
 
Method Summary
protected  void computeEnsembleMeasures(Instances data)
          Compute ensemble measures.
 java.util.Enumeration enumerateMeasures()
          Returns an enumeration of the additional measure names
abstract  double[] getEnsemblePredictions(Instance instance)
          Returns class predictions of each ensemble member
abstract  double getEnsembleSize()
          Returns size of ensemble
abstract  double[] getEnsembleWts()
          Returns vote weights of ensemble members.
 double getMeasure(java.lang.String additionalMeasureName)
          Returns the value of the named measure
protected  void initMeasures()
          Initialize measures
 double measureTrainEnsembleDiversity()
           
 double measureTrainEnsembleError()
           
 double measureTrainError()
           
protected  void updateEnsembleStats(double pred, Instance instance, double[] ensemblePreds)
          Update statistics for ensemble classifiers.
 
Methods inherited from class weka.classifiers.DistributionClassifier
calculateEntropy, calculateLabeledInstanceMargin, calculateMargin, classifyInstance, distributionForInstance
 
Methods inherited from class weka.classifiers.Classifier
buildClassifier, forName, makeCopies
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_TrainError

protected double m_TrainError
the error on the training data


m_TrainEnsembleError

protected double m_TrainEnsembleError
the average error of the ensemble on the training data


m_TrainEnsembleDiversity

protected double m_TrainEnsembleDiversity
the ensemble diversity computed in the training data


m_SumEnsembleWts

protected double m_SumEnsembleWts
Sum of ensemble weights


m_EnsembleWts

protected double[] m_EnsembleWts
Vote weights of ensemble members

Constructor Detail

EnsembleClassifier

public EnsembleClassifier()
Method Detail

getEnsemblePredictions

public abstract double[] getEnsemblePredictions(Instance instance)
                                         throws java.lang.Exception
Returns class predictions of each ensemble member

Throws:
java.lang.Exception

getEnsembleWts

public abstract double[] getEnsembleWts()
Returns vote weights of ensemble members.

Returns:
vote weights of ensemble members

getEnsembleSize

public abstract double getEnsembleSize()
Returns size of ensemble


enumerateMeasures

public java.util.Enumeration enumerateMeasures()
Returns an enumeration of the additional measure names

Specified by:
enumerateMeasures in interface AdditionalMeasureProducer
Returns:
an enumeration of the measure names

getMeasure

public double getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure

Specified by:
getMeasure in interface AdditionalMeasureProducer
Parameters:
additionalMeasureName - the name of the measure to query for its value
Returns:
the value of the named measure
Throws:
java.lang.IllegalArgumentException - if the named measure is not supported

measureTrainError

public double measureTrainError()
Returns:
the error on the training data

measureTrainEnsembleError

public double measureTrainEnsembleError()
Returns:
the average error of the ensemble on the training data

measureTrainEnsembleDiversity

public double measureTrainEnsembleDiversity()
Returns:
the ensemble diversity computed in the training data

initMeasures

protected void initMeasures()
Initialize measures


computeEnsembleMeasures

protected void computeEnsembleMeasures(Instances data)
                                throws java.lang.Exception
Compute ensemble measures.

Parameters:
data - training instances
Throws:
java.lang.Exception

updateEnsembleStats

protected void updateEnsembleStats(double pred,
                                   Instance instance,
                                   double[] ensemblePreds)
Update statistics for ensemble classifiers.

Parameters:
pred - ensemble prediction
instance - training instance
ensemblePreds - predictions of ensemble members