mulan.classifier.meta.thresholding
Class RCut

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

public class RCut
extends MultiLabelMetaLearner

Classs that implements RCut(Rank-based cut). It selects the k top ranked labels for each instance, where k is a parameter provided by the user or automatically tuned.Yiming Yang: A study of thresholding strategies for text categorization. In: Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval, 137 - 145, 2001.

BibTeX:

 @inproceedings{Yang2001,
    author = {Yiming Yang},
    booktitle = {Proceedings of the 24th annual international ACM SIGIR conference on Research and development in information retrieval},
    pages = {137 - 145},
    title = {A study of thresholding strategies for text categorization},
    year = {2001},
    location = {New Orleans, Louisiana, United States}
 }
 

Version:
2010.12.14
Author:
Marios Ioannou, George Sakkas, 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
RCut()
          Default constructor
RCut(MultiLabelLearner baseLearner)
          Creates a new instance of RCut
RCut(MultiLabelLearner baseLearner, BipartitionMeasureBase aMeasure)
          Creates a new instance of RCut
RCut(MultiLabelLearner baseLearner, BipartitionMeasureBase aMeasure, int someFolds)
          Creates a new instance of RCut
 
Method Summary
protected  void buildInternal(MultiLabelInstances trainingData)
          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 the multi-label learner.
protected  MultiLabelOutput makePredictionInternal(Instance instance)
          Learner specific implementation for predicting on specified data based on trained model.
 void setDebug(boolean debug)
          Set debugging mode.
 
Methods inherited from class mulan.classifier.meta.MultiLabelMetaLearner
getBaseLearner
 
Methods inherited from class mulan.classifier.MultiLabelLearnerBase
build, debug, getDebug, isModelInitialized, isUpdatable, makeCopy, makePrediction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RCut

public RCut()
Default constructor


RCut

public RCut(MultiLabelLearner baseLearner)
Creates a new instance of RCut

Parameters:
baseLearner - the underlying multi-label learner

RCut

public RCut(MultiLabelLearner baseLearner,
            BipartitionMeasureBase aMeasure,
            int someFolds)
Creates a new instance of RCut

Parameters:
baseLearner - the underlying multi-label learner
aMeasure - measure to optimize
someFolds - cross-validation folds

RCut

public RCut(MultiLabelLearner baseLearner,
            BipartitionMeasureBase aMeasure)
Creates a new instance of RCut

Parameters:
baseLearner - the underlying multi-label learner
aMeasure - measure to optimize
Method Detail

buildInternal

protected void buildInternal(MultiLabelInstances trainingData)
                      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:
trainingData - the training data set
Throws:
Exception - if learner model was not created successfully

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

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

setDebug

public void setDebug(boolean debug)
Description copied from class: MultiLabelLearnerBase
Set debugging mode.

Specified by:
setDebug in interface MultiLabelLearner
Overrides:
setDebug in class MultiLabelLearnerBase
Parameters:
debug - true if debug output should be printed

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