imp_int_an: Importance interval-based attribute noise

View source: R/058_imp_int_an.R

imp_int_anR Documentation

Importance interval-based attribute noise

Description

Introduction of Importance interval-based attribute noise into a classification dataset.

Usage

## Default S3 method:
imp_int_an(x, y, level, nbins = 10, ascending = TRUE, sortid = TRUE, ...)

## S3 method for class 'formula'
imp_int_an(formula, data, ...)

Arguments

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 attribute.

nbins

an integer with the number of bins to create (default: 10).

ascending

a boolean indicating how noise levels are assigned to attributes:

  • TRUE: the lowest noise level is assigned to the most important attribute (default value).

  • FALSE: the highest noise level is assigned to the most important attribute.

sortid

a logical indicating if the indices must be sorted at the output (default: TRUE).

...

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

The values in level are ordered and assigned to attributes according to their information gain (using the ordering given by ascending). Then, Importance interval-based attribute noise corrupts (level[i]·100)% of the values for each attribute A[i] in the dataset. In order to corrupt each attribute A[i], (level[i]·100)% of the samples in the dataset are chosen. To corrupt a value in numeric attributes, the attribute is split into equal-frequency intervals, one of its closest intervals is picked out and a random value within the interval is chosen as noisy. For nominal attributes, a random value within the domain is chosen.

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 attribute.

idnoise

an integer vector list with the indices of noisy samples per attribute.

numclean

an integer vector with the amount of clean samples per attribute.

idclean

an integer vector list with the indices of clean samples per attribute.

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

M. V. Mannino, Y. Yang, and Y. Ryu. Classification algorithm sensitivity to training data with non representative attribute noise. Decision Support Systems, 46(3):743-751, 2009. doi: 10.1016/j.dss.2008.11.021.

See Also

asy_int_an, asy_uni_an, print.ndmodel, summary.ndmodel, plot.ndmodel

Examples

# load the dataset
data(iris2D)

# usage of the default method
set.seed(9)
outdef <- imp_int_an(x = iris2D[,-ncol(iris2D)], y = iris2D[,ncol(iris2D)], 
                        level = c(0.1, 0.2))

# show results
summary(outdef, showid = TRUE)
plot(outdef)

# usage of the method for class formula
set.seed(9)
outfrm <- imp_int_an(formula = Species ~ ., data = iris2D, 
                        level = c(0.1, 0.2))

# check the match of noisy indices
identical(outdef$idnoise, outfrm$idnoise)


noisemodel documentation built on Oct. 17, 2022, 9:05 a.m.