smam_bor_ln {noisemodel} | R Documentation |
Small-margin borderline label noise
Description
Introduction of Small-margin borderline label noise into a classification dataset.
Usage
## Default S3 method:
smam_bor_ln(x, y, level, k = 1, sortid = TRUE, ...)
## S3 method for class 'formula'
smam_bor_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. |
k |
an integer with the number of nearest neighbors to be used (default: 1). |
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
Small-margin 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, the samples are ordered according to their distance and
(level
ยท100)% of the closest correctly classified samples to the decision boundary
are selected to be mislabeled. For each noisy sample, the
majority class among its k
-nearest neighbors of a different class
is chosen as the new label.
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 to multiclass data, considering SVM with linear kernel as classifier and a mislabeling process using the neighborhood of noisy samples.
References
E. Amid, M. K. Warmuth, and S. Srinivasan. Two-temperature logistic regression based on the Tsallis divergence. In Proc. 22nd International Conference on Artificial Intelligence and Statistics, volume 89 of PMLR, pages 2388-2396, 2019. url:http://proceedings.mlr.press/v89/amid19a.html.
See Also
nlin_bor_ln
, nei_bor_ln
, print.ndmodel
, summary.ndmodel
, plot.ndmodel
Examples
# load the dataset
data(iris2D)
# usage of the default method
set.seed(9)
outdef <- smam_bor_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 <- smam_bor_ln(formula = Species ~ ., data = iris2D, level = 0.1)
# check the match of noisy indices
identical(outdef$idnoise, outfrm$idnoise)