sym_hie_ln {noisemodel} | R Documentation |
Symmetric hierarchical label noise
Description
Introduction of Symmetric hierarchical label noise into a classification dataset.
Usage
## Default S3 method:
sym_hie_ln(x, y, level, group, order = levels(y), sortid = TRUE, ...)
## S3 method for class 'formula'
sym_hie_ln(formula, data, ...)
Arguments
x |
a data frame of input attributes. |
y |
a factor vector with the output class of each sample. |
level |
a double in [0,1] with the noise level to be introduced. |
group |
a list of integer vectors with the indices of classes in each superclass. |
order |
a character vector indicating the order of the classes (default: |
sortid |
a logical indicating if the indices must be sorted at the output (default: |
... |
other options to pass to the function. |
formula |
a formula with the output class and, at least, one input attribute. |
data |
a data frame in which to interpret the variables in the formula. |
Details
Symmetric hierarchical label noise randomly selects (level
ยท100)% of the samples
in the dataset with independence of their class. Then, the labels of these samples are randomly
replaced by other ones within the set of class labels related to them (given by the
argument group
). The indices in group
are taken according to the order given by order
.
Note that if a class does not belong to any superclass, it may be mislabeled as any other class.
Value
An object of class ndmodel
with elements:
xnoise |
a data frame with the noisy input attributes. |
ynoise |
a factor vector with the noisy output class. |
numnoise |
an integer vector with the amount of noisy samples per class. |
idnoise |
an integer vector list with the indices of noisy samples. |
numclean |
an integer vector with the amount of clean samples per class. |
idclean |
an integer vector list with the indices of clean samples. |
distr |
an integer vector with the samples per class in the original data. |
model |
the full name of the noise introduction model used. |
param |
a list of the argument values. |
call |
the function call. |
Note
Noise model adapted from the papers in References.
References
D. Hendrycks, M. Mazeika, D. Wilson, and K. Gimpel. Using trusted data to train deep networks on labels corrupted by severe noise. In Advances in Neural Information Processing Systems, volume 31, pages 10477-10486, 2018. url:https://proceedings.neurips.cc/paper/2018/hash/ad554d8c3b06d6b97ee76a2448bd7913-Abstract.html.
See Also
sym_uni_ln
, sym_def_ln
, print.ndmodel
, summary.ndmodel
, plot.ndmodel
Examples
# load the dataset
data(iris2D)
# usage of the default method: a superclass with labels of indices 1 and 2
set.seed(9)
outdef <- sym_hie_ln(x = iris2D[,-ncol(iris2D)], y = iris2D[,ncol(iris2D)], level = 0.1,
group = list(c(1,2)), order = c("virginica", "setosa", "versicolor"))
# show results
summary(outdef, showid = TRUE)
plot(outdef)
# usage of the method for class formula
set.seed(9)
outfrm <- sym_hie_ln(formula = Species ~ ., data = iris2D, level = 0.1,
group = list(c(1,2)), order = c("virginica", "setosa", "versicolor"))
# check the match of noisy indices
identical(outdef$idnoise, outfrm$idnoise)