Introduction of Symmetric center-based label noise into a classification dataset.
# S3 method for default
sym_cen_ln(x, y, level, sortid = TRUE, ...)# S3 method for formula
sym_cen_ln(formula, data, ...)
An object of class ndmodel
with elements:
a data frame with the noisy input attributes.
a factor vector with the noisy output class.
an integer vector with the amount of noisy samples per class.
an integer vector list with the indices of noisy samples.
an integer vector with the amount of clean samples per class.
an integer vector list with the indices of clean samples.
an integer vector with the samples per class in the original data.
the full name of the noise introduction model used.
a list of the argument values.
the function call.
a data frame of input attributes.
a factor vector with the output class of each sample.
a double in [0,1] with the noise level to be introduced.
a logical indicating if the indices must be sorted at the output (default: TRUE
).
other options to pass to the function.
a formula with the output class and, at least, one input attribute.
a data frame in which to interpret the variables in the formula.
Symmetric center-based label noise randomly selects (level
·100)% of the samples
in the dataset with independence of their class. The probability for chosing the noisy label
is determined based on the distance between class centers.
Thus, the mislabeling probability between classes increases as the distance between their
centers decreases. This model is consistent with the intuition that samples in similar
classes are more likely to be mislabeled. Besides, the model also allows mislabeling
data in dissimilar classes with a relatively small probability, which corresponds to
label noise caused by random errors.
X. Pu and C. Li. Probabilistic information-theoretic discriminant analysis for industrial label-noise fault diagnosis. IEEE Transactions on Industrial Informatics, 17(4):2664-2674, 2021. tools:::Rd_expr_doi("10.1109/TII.2020.3001335").
glev_uni_ln
, sym_hienc_ln
, print.ndmodel
, summary.ndmodel
, plot.ndmodel
# load the dataset
data(iris2D)
# usage of the default method
set.seed(9)
outdef <- sym_cen_ln(x = iris2D[,-ncol(iris2D)], y = iris2D[,ncol(iris2D)], level = 0.1)
# show results
summary(outdef, showid = TRUE)
plot(outdef)
# usage of the method for class formula
set.seed(9)
outfrm <- sym_cen_ln(formula = Species ~ ., data = iris2D, level = 0.1)
# check the match of noisy indices
identical(outdef$idnoise, outfrm$idnoise)
Run the code above in your browser using DataLab