mulan.classifier.meta.thresholding
Class MLPTO
java.lang.Object
mulan.classifier.MultiLabelLearnerBase
mulan.classifier.meta.MultiLabelMetaLearner
mulan.classifier.meta.thresholding.MLPTO
- All Implemented Interfaces:
- Serializable, MultiLabelLearner, TechnicalInformationHandler
public class MLPTO
- extends MultiLabelMetaLearner
Class that implements the Multi Label Probabilistic Threshold Optimizer (MLTPTO). For more information, see
J.R. Quevedo, O. Luaces, A. Bahamonde (2012). Multilabel classifiers with a probabilistic thresholding strategy. Pattern Recognition. 45(2):876-883.
BibTeX:
@article{Quevedo2012,
author = {J.R. Quevedo and O. Luaces and A. Bahamonde},
journal = {Pattern Recognition},
number = {2},
pages = {876-883},
publisher = {Elsevier},
title = {Multilabel classifiers with a probabilistic thresholding strategy},
volume = {45},
year = {2012},
ISSN = {0031-3203}
}
- Version:
- 2012.02.02
- Author:
- D. Toimil, J. R. Quevedo, O. Luaces
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MLPTO
public MLPTO()
- Default constructor
MLPTO
public MLPTO(MultiLabelLearner baseLearner,
ExampleBasedBipartitionMeasureBase EBBM)
- Parameters:
baseLearner
- the underlying multi-label learnerEBBM
- the measure function to be optimized. The measure is
optimized minimizing the distance to its ideal value (using IdealValue()
method). For measures with 1 as ideal value, like F1 or Accuracy, this
algorithm searches for the highest value (the nearest to 1). For measures
with 0 as ideal value, like Hamming, this algorithm searches for the
lowest value (the nearest to 0).
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
makePredictionInternal
protected MultiLabelOutput makePredictionInternal(Instance instance)
throws Exception
- Produces the optimal bipartition output from a probabilistic multi label
output for a predefined loss function. This method evaluates the example
using the multi label base-learner to get the labels' probability. Then,
it calculates the threshold that optimizes the loss (as especified in the
constructor's param FLoss). Finally, this threshold is used to generate a
bipartite multi label output.
- Specified by:
makePredictionInternal
in class MultiLabelLearnerBase
- Parameters:
instance
- Test example.
- 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
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