prudent: PruDent classifier for multi-label Classification

Description Usage Arguments Details Value References See Also Examples

View source: R/method_prudent.R

Description

Create a PruDent classifier to predict multi-label data. To this, two round of Binary Relevance is executed, such that, the first iteration generates new attributes to enrich the second prediction.

Usage

1
2
3
4
5
6
7
8
prudent(
  mdata,
  base.algorithm = getOption("utiml.base.algorithm", "SVM"),
  phi = 0,
  ...,
  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"))

phi

A value between 0 and 1 to determine the information gain. The value 0 include all labels in the second phase and the 1 none.

...

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. This is useful when the method is run in parallel. (Default: options("utiml.seed", NA))

Details

In the second phase only labels whose information gain is greater than a specific phi value is added.

Value

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

labels

A vector with the label names.

phi

The value of phi parameter.

IG

The matrix of Information Gain used in combination with phi parameter to define the labels used in the second step.

basemodel

The BRModel used in the first iteration.

metamodels

A list of models named by the label names used in the second iteration.

References

Alali, A., & Kubat, M. (2015). PruDent: A Pruned and Confident Stacking Approach for Multi-Label Classification. IEEE Transactions on Knowledge and Data Engineering, 27(9), 2480-2493.

See Also

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

Examples

1
2
3
4
5
6
7
8
9
model <- prudent(toyml, "RANDOM")
pred <- predict(model, toyml)


# Use different phi correlation with C5.0 classifier
model <- prudent(toyml, 'C5.0', 0.3)

# Set a specific parameter
model <- prudent(toyml, 'KNN', k=5)

utiml documentation built on May 31, 2021, 9:09 a.m.