Use classifier chains method (CC) to create a multilabel learner.
Every learner which is implemented in mlr and which supports binary classification can be converted to a wrapped classifier chains multilabel learner. CC trains a binary classifier for each label following a given order. In training phase, the feature space of each classifier is extended with true label information of all previous labels in the chain. During the prediction phase, when true labels are not available, they are replaced by predicted labels.
Models can easily be accessed via getLearnerModel.
makeMultilabelClassifierChainsWrapper(learner, order = NULL)
learner |
(Learner | |
order |
(character) |
Montanes, E. et al. (2013) Dependent binary relevance models for multi-label classification Artificial Intelligence Center, University of Oviedo at Gijon, Spain.
Other wrapper:
makeBaggingWrapper()
,
makeClassificationViaRegressionWrapper()
,
makeConstantClassWrapper()
,
makeCostSensClassifWrapper()
,
makeCostSensRegrWrapper()
,
makeDownsampleWrapper()
,
makeDummyFeaturesWrapper()
,
makeExtractFDAFeatsWrapper()
,
makeFeatSelWrapper()
,
makeFilterWrapper()
,
makeImputeWrapper()
,
makeMulticlassWrapper()
,
makeMultilabelBinaryRelevanceWrapper()
,
makeMultilabelDBRWrapper()
,
makeMultilabelNestedStackingWrapper()
,
makeMultilabelStackingWrapper()
,
makeOverBaggingWrapper()
,
makePreprocWrapperCaret()
,
makePreprocWrapper()
,
makeRemoveConstantFeaturesWrapper()
,
makeSMOTEWrapper()
,
makeTuneWrapper()
,
makeUndersampleWrapper()
,
makeWeightedClassesWrapper()
d = getTaskData(yeast.task) # drop some labels so example runs faster d = d[seq(1, nrow(d), by = 20), c(1:2, 15:17)] task = makeMultilabelTask(data = d, target = c("label1", "label2")) lrn = makeLearner("classif.rpart") lrn = makeMultilabelBinaryRelevanceWrapper(lrn) lrn = setPredictType(lrn, "prob") # train, predict and evaluate mod = train(lrn, task) pred = predict(mod, task) performance(pred, measure = list(multilabel.hamloss, multilabel.subset01, multilabel.f1)) # the next call basically has the same structure for any multilabel meta wrapper getMultilabelBinaryPerformances(pred, measures = list(mmce, auc)) # above works also with predictions from resample!
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.