mulan.classifier.transformation
Class EnsembleOfPrunedSets

java.lang.Object
  extended by mulan.classifier.MultiLabelLearnerBase
      extended by mulan.classifier.transformation.TransformationBasedMultiLabelLearner
          extended by mulan.classifier.transformation.EnsembleOfPrunedSets
All Implemented Interfaces:
Serializable, MultiLabelLearner, TechnicalInformationHandler

public class EnsembleOfPrunedSets
extends TransformationBasedMultiLabelLearner

Class implementing the Ensemble of Pruned Sets algorithm(EPS) . For more information, see

Read, Jesse, Pfahringer, Bernhard, Holmes, Geoff: Multi-label Classification using Ensembles of Pruned Sets. In: ICDM'08: Eighth IEEE International Conference on Data Mining, 995-1000, 2008.

BibTeX:

 @conference{Read2008,
    author = {Read, Jesse and Pfahringer, Bernhard and Holmes, Geoff},
    booktitle = {ICDM'08: Eighth IEEE International Conference on Data Mining},
    pages = {995-1000},
    title = {Multi-label Classification using Ensembles of Pruned Sets},
    year = {2008}
 }
 

Version:
2012.02.27
Author:
Emmanouela Stachtiari, Grigorios Tsoumakas
See Also:
Serialized Form

Field Summary
protected  PrunedSets[] ensemble
          The models in the ensemble
protected  int numOfModels
          Parameter for the number of models that constitute the ensemble
protected  double percentage
          Percentage of data
protected  Random rand
          Random number generator
protected  double threshold
          Parameter for the threshold of discretization of prediction output
 
Fields inherited from class mulan.classifier.transformation.TransformationBasedMultiLabelLearner
baseClassifier
 
Fields inherited from class mulan.classifier.MultiLabelLearnerBase
featureIndices, labelIndices, numLabels
 
Constructor Summary
EnsembleOfPrunedSets()
          Creates a new instance with default values
EnsembleOfPrunedSets(double aPercentage, int aNumOfModels, double aThreshold, int aP, PrunedSets.Strategy aStrategy, int aB, Classifier baselearner)
           
 
Method Summary
protected  void buildInternal(MultiLabelInstances trainingSet)
          Learner specific implementation of building the model from MultiLabelInstances training data set.
 TechnicalInformation getTechnicalInformation()
          Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
 String globalInfo()
          Returns a string describing classifier
protected  MultiLabelOutput makePredictionInternal(Instance instance)
          Learner specific implementation for predicting on specified data based on trained model.
 
Methods inherited from class mulan.classifier.transformation.TransformationBasedMultiLabelLearner
getBaseClassifier
 
Methods inherited from class mulan.classifier.MultiLabelLearnerBase
build, debug, getDebug, isModelInitialized, isUpdatable, makeCopy, makePrediction, setDebug
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

threshold

protected double threshold
Parameter for the threshold of discretization of prediction output


numOfModels

protected int numOfModels
Parameter for the number of models that constitute the ensemble


percentage

protected double percentage
Percentage of data


ensemble

protected PrunedSets[] ensemble
The models in the ensemble


rand

protected Random rand
Random number generator

Constructor Detail

EnsembleOfPrunedSets

public EnsembleOfPrunedSets()
Creates a new instance with default values


EnsembleOfPrunedSets

public EnsembleOfPrunedSets(double aPercentage,
                            int aNumOfModels,
                            double aThreshold,
                            int aP,
                            PrunedSets.Strategy aStrategy,
                            int aB,
                            Classifier baselearner)
Parameters:
aNumOfModels - the number of models in the ensemble
aStrategy - pruned sets strategy
aPercentage - percentage of data to sample
aP - pruned sets parameter p
aB - pruned sets parameter b
baselearner - the base learner
aThreshold - the threshold for producing bipartitions
Method Detail

buildInternal

protected void buildInternal(MultiLabelInstances trainingSet)
                      throws Exception
Description copied from class: MultiLabelLearnerBase
Learner specific implementation of building the model from MultiLabelInstances training data set. This method is called from MultiLabelLearnerBase.build(MultiLabelInstances) method, where behavior common across all learners is applied.

Specified by:
buildInternal in class MultiLabelLearnerBase
Parameters:
trainingSet - the training data set
Throws:
Exception - if learner model was not created successfully

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Description copied from class: TransformationBasedMultiLabelLearner
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Overrides:
getTechnicalInformation in class TransformationBasedMultiLabelLearner
Returns:
the technical information about this class

globalInfo

public String globalInfo()
Returns a string describing classifier

Overrides:
globalInfo in class TransformationBasedMultiLabelLearner
Returns:
a description suitable for displaying

makePredictionInternal

protected MultiLabelOutput makePredictionInternal(Instance instance)
                                           throws Exception,
                                                  InvalidDataException
Description copied from class: MultiLabelLearnerBase
Learner specific implementation for predicting on specified data based on trained model. This method is called from MultiLabelLearnerBase.makePrediction(weka.core.Instance) which guards for model initialization and apply common handling/behavior.

Specified by:
makePredictionInternal in class MultiLabelLearnerBase
Parameters:
instance - the data instance to predict on
Returns:
the output of the learner for the given instance
Throws:
Exception - if an error occurs while making the prediction.
InvalidDataException - if specified instance data is invalid and can not be processed by the learner