mulan.classifier.meta
Class HOMER

java.lang.Object
  extended by mulan.classifier.MultiLabelLearnerBase
      extended by mulan.classifier.meta.MultiLabelMetaLearner
          extended by mulan.classifier.meta.HOMER
All Implemented Interfaces:
Serializable, MultiLabelLearner, TechnicalInformationHandler

public class HOMER
extends MultiLabelMetaLearner

Class implementing the Hierarchy Of Multi-labEl leaRners algorithm. For more information, see

Grigorios Tsoumakas, Ioannis Katakis, Ioannis Vlahavas: Effective and Efficient Multilabel Classification in Domains with Large Number of Labels. In: Proc. ECML/PKDD 2008 Workshop on Mining Multidimensional Data (MMD'08), 2008.

BibTeX:

 @inproceedings{Tsoumakas2008,
    author = {Grigorios Tsoumakas and Ioannis Katakis and Ioannis Vlahavas},
    booktitle = {Proc. ECML/PKDD 2008 Workshop on Mining Multidimensional Data (MMD'08)},
    title = {Effective and Efficient Multilabel Classification in Domains with Large Number of Labels},
    year = {2008},
    location = {Antwerp, Belgium}
 }
 

Version:
2012.02.27
Author:
Grigorios Tsoumakas
See Also:
Serialized Form

Field Summary
 
Fields inherited from class mulan.classifier.meta.MultiLabelMetaLearner
baseLearner
 
Fields inherited from class mulan.classifier.MultiLabelLearnerBase
featureIndices, labelIndices, numLabels
 
Constructor Summary
HOMER()
          Default constructor
HOMER(MultiLabelLearner mll, int clusters, HierarchyBuilder.Method method)
          Creates a new instance based on given multi-label learner, number of children and partitioning method
 
Method Summary
protected  void buildInternal(MultiLabelInstances trainingSet)
          Learner specific implementation of building the model from MultiLabelInstances training data set.
 long getNoClassifierEvals()
          Returns the number of classifier evaluations
 long getNoNodes()
          Returns the number of nodes
 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.
 long getTotalUsedTrainInsts()
          Returns the total number of instances used for training
 String globalInfo()
          Returns a string describing the multi-label learner.
protected  MultiLabelOutput makePredictionInternal(Instance instance)
          Learner specific implementation for predicting on specified data based on trained model.
 
Methods inherited from class mulan.classifier.meta.MultiLabelMetaLearner
getBaseLearner
 
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
 

Constructor Detail

HOMER

public HOMER()
Default constructor


HOMER

public HOMER(MultiLabelLearner mll,
             int clusters,
             HierarchyBuilder.Method method)
Creates a new instance based on given multi-label learner, number of children and partitioning method

Parameters:
mll - multi-label learner
clusters - number of partitions
method - partitioning method
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

makePredictionInternal

protected MultiLabelOutput makePredictionInternal(Instance instance)
                                           throws Exception
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

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Description copied from class: MultiLabelLearnerBase
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
Specified by:
getTechnicalInformation in class MultiLabelLearnerBase
Returns:
the technical information about this class

getNoNodes

public long getNoNodes()
Returns the number of nodes

Returns:
number of nodes

getNoClassifierEvals

public long getNoClassifierEvals()
Returns the number of classifier evaluations

Returns:
number of classifier evaluations

getTotalUsedTrainInsts

public long getTotalUsedTrainInsts()
Returns the total number of instances used for training

Returns:
total number of instances used for training

globalInfo

public String globalInfo()
Description copied from class: MultiLabelLearnerBase
Returns a string describing the multi-label learner.

Specified by:
globalInfo in class MultiLabelLearnerBase
Returns:
a description suitable for displaying in a future gui