BR+ or BRplus for multi-label Classification

Description

Create a BR+ classifier to predic multi-label data. This is a simple approach that enables the binary classifiers to discover existing label dependency by themselves. The main idea of BR+ is to increment the feature space of the binary classifiers to let them discover existing label dependency by themselves.

Usage

1
2
brplus(mdata, base.method = getOption("utiml.base.method", "SVM"), ...,
  cores = getOption("utiml.cores", 1), seed = getOption("utiml.seed", NA))

Arguments

mdata

A mldr dataset used to train the binary models.

base.method

A string with the name of the base method. (Default: options("utiml.base.method", "SVM"))

...

Others arguments passed to the base method for all subproblems.

cores

The number of cores to parallelize the training. Values higher than 1 require the parallel package. (Default: options("utiml.cores", 1))

seed

An optional integer used to set the seed. This is useful when the method is run in parallel. (Default: options("utiml.seed", NA))

Details

This implementation has different strategy to predict the final set of labels for unlabeled examples, as proposed in original paper.

Value

An object of class BRPmodel containing the set of fitted models, including:

freq

The label frequencies to use with the 'Stat' strategy

initial

The BR model to predict the values for the labels to initial step

models

A list of final models named by the label names.

References

Cherman, E. A., Metz, J., & Monard, M. C. (2012). Incorporating label dependency into the binary relevance framework for multi-label classification. Expert Systems with Applications, 39(2), 1647-1655.

See Also

Other Stacking methods: mbr

Other Transformation methods: br, cc, clr, ctrl, dbr, ebr, ecc, eps, homer, lift, lp, mbr, ns, ppt, prudent, ps, rakel, rdbr, rpc

Examples

1
2
3
4
5
6
7
8
9
# Use SVM as base method
model <- brplus(toyml, "RANDOM")
pred <- predict(model, toyml)

## Not run: 
# Use Random Forest as base method and 4 cores
model <- brplus(toyml, 'RF', cores = 4, seed = 123)

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.