View source: R/053_ugau_bor_ln.R
ugau_bor_ln | R Documentation |
Introduction of Uneven-Gaussian borderline label noise into a classification dataset.
## Default S3 method: ugau_bor_ln( x, y, level, mean = 0, sd = 1, k = 1, order = levels(y), sortid = TRUE, ... ) ## S3 method for class 'formula' ugau_bor_ln(formula, data, ...)
x |
a data frame of input attributes. |
y |
a factor vector with the output class of each sample. |
level |
a double vector with the noise levels in [0,1] to be introduced into each class. |
mean |
a double with the mean for the Gaussian distribution (default: 0). |
sd |
a double with the standard deviation for the Gaussian distribution (default: 1). |
k |
an integer with the number of nearest neighbors to be used (default: 1). |
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. |
Uneven-Gaussian borderline label noise uses an SVM to induce the decision border
in the dataset. For each sample, its distance
to the decision border is computed. Then, a Gaussian distribution with parameters (mean
, sd
) is
used to compute the value for the probability density function associated to each distance.
For each class c[i], it randomly selects (level
[i]·100)% of the samples
in the dataset based on their values of the probability density function -the order of the class labels is determined by
order
. For each noisy sample, the
majority class among its k
-nearest neighbors of a different class
is chosen as the new label.
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. |
Noise model adapted from the papers in References to multiclass data, considering SVM with linear kernel as classifier, a mislabeling process using the neighborhood of noisy samples and a noise level to control the number of errors in the data.
J. Du and Z. Cai. Modelling class noise with symmetric and asymmetric distributions. In Proc. 29th AAAI Conference on Artificial Intelligence, pages 2589-2595, 2015. url:https://dl.acm.org/doi/10.5555/2886521.2886681.
gaum_bor_ln
, gau_bor_ln
, print.ndmodel
, summary.ndmodel
, plot.ndmodel
# load the dataset data(iris2D) # usage of the default method set.seed(9) outdef <- ugau_bor_ln(x = iris2D[,-ncol(iris2D)], y = iris2D[,ncol(iris2D)], level = c(0.1, 0.2, 0.3), order = c("virginica", "setosa", "versicolor")) # show results summary(outdef, showid = TRUE) plot(outdef) # usage of the method for class formula set.seed(9) outfrm <- ugau_bor_ln(formula = Species ~ ., data = iris2D, level = c(0.1, 0.2, 0.3), order = c("virginica", "setosa", "versicolor")) # check the match of noisy indices identical(outdef$idnoise, outfrm$idnoise)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.