homer: Hierarchy Of Multilabel classifiER (HOMER)

Description Usage Arguments Details Value References See Also Examples

Description

Create a Hierarchy Of Multilabel classifiER (HOMER).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
homer(
  mdata,
  base.algorithm = getOption("utiml.base.algorithm", "SVM"),
  clusters = 3,
  method = c("balanced", "clustering", "random"),
  iteration = 100,
  ...,
  cores = getOption("utiml.cores", 1),
  seed = getOption("utiml.seed", NA)
)

Arguments

mdata

A mldr dataset used to train the binary models.

base.algorithm

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

clusters

Number maximum of nodes in each level. (Default: 3)

method

The strategy used to organize the labels (create the meta-labels). The options are: "balanced", "clustering" and "random". (Default: "balanced").

iteration

The number max of iterations, used by balanced or clustering methods.

...

Others arguments passed to the base algorithm 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. (Default: options("utiml.seed", NA))

Details

HOMER is an algorithm for effective and computationally efficient multilabel classification in domains with many labels. It constructs a hierarchy of multilabel classifiers, each one dealing with a much smaller set of labels.

Value

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

labels

A vector with the label names.

clusters

The number of nodes in each level

models

The Hierarchy of BR models.

References

Tsoumakas, G., Katakis, I., & Vlahavas, I. (2008). Effective and efficient multilabel classification in domains with large number of labels. In Proc. ECML/PKDD 2008 Workshop on Mining Multidimensional Data (MMD'08) (pp. 30-44). Antwerp, Belgium.

See Also

Other Transformation methods: brplus(), br(), cc(), clr(), dbr(), ebr(), ecc(), eps(), esl(), lift(), lp(), mbr(), ns(), ppt(), prudent(), ps(), rakel(), rdbr(), rpc()

Examples

1
2
3
4
5
6
model <- homer(toyml, "RANDOM")
pred <- predict(model, toyml)


##Change default configurations
model <- homer(toyml, "RF", clusters=5, method="clustering", iteration=10)

rivolli/utiml documentation built on June 1, 2021, 11:48 p.m.