It generates samples from predefined shapes, set by dname parameter. Also incorporated a functionality to add white noise with degree noise.

aux.gensamples(
  n = 496,
  noise = 0.01,
  dname = c("swiss", "crown", "helix", "saddle", "ribbon", "bswiss", "cswiss",
    "twinpeaks", "sinusoid", "mobius", "R12in72"),
  ...
)

Arguments

n

the number of points to be generated.

noise

level of additive white noise.

dname

name of a predefined shape. Should be one of

"swiss"

swiss roll

"crown"

crown

"helix"

helix

"saddle"

manifold near saddle point

"ribbon"

ribbon

"bswiss"

broken swiss

"cswiss"

cut swiss

"twinpeaks"

two peaks

"sinusoid"

sinusoid on the circle

"mobius"

mobius strip embedded in \(\mathbf{R}^3\)

"R12in72"

12-dimensional manifold in \(\mathbf{R}^{12}\)

...

extra parameters for the followings #'

parameterdnamedescription
ntwist"mobius"number of twists

Value

an \((n\times p)\) matrix of generated data by row. For all methods other than "R12in72", it returns a matrix with \(p=3\).

References

Hein M, Audibert J (2005). “Intrinsic Dimensionality Estimation of Submanifolds in \$R\^d\$.” In Proceedings of the 22nd International Conference on Machine Learning, 289--296.

van der Maaten L (2009). “Learning a Parametric Embedding by Preserving Local Structure.” Proceedings of AI-STATS.

Author

Kisung You

Examples

# \donttest{
## generating toy example datasets
set.seed(100)
dat.swiss = aux.gensamples(50, dname="swiss")
dat.crown = aux.gensamples(50, dname="crown")
dat.helix = aux.gensamples(50, dname="helix")
# }