| do.mve | R Documentation |
Minimum Volume Embedding (MVE) is a nonlinear dimension reduction
algorithm that exploits semidefinite programming (SDP), like MVU/SDE.
Whereas MVU aims at stretching through all direction by maximizing
\sum \lambda_i, MVE only opts for unrolling the top eigenspectrum
and chooses to shrink left-over spectral dimension. For ease of use,
unlike kernel PCA, we only made use of Gaussian kernel for MVE.
do.mve(
X,
ndim = 2,
knn = ceiling(nrow(X)/10),
kwidth = 1,
preprocess = c("null", "center", "scale", "cscale", "whiten", "decorrelate"),
tol = 1e-04,
maxiter = 10
)
X |
an |
ndim |
an integer-valued target dimension. |
knn |
size of |
kwidth |
bandwidth for Gaussian kernel. |
preprocess |
an additional option for preprocessing the data.
Default is "null". See also |
tol |
stopping criterion for incremental change. |
maxiter |
maximum number of iterations allowed. |
a named list containing
an (n\times ndim) matrix whose rows are embedded observations.
a list containing information for out-of-sample prediction.
Kisung You
shaw_minimum_2007Rdimtools
do.mvu
## Not run:
## use a small subset of iris data
set.seed(100)
id = sample(1:150, 50)
X = as.matrix(iris[id,1:4])
lab = as.factor(iris[id,5])
## try different connectivity levels
output1 <- do.mve(X, knn=5)
output2 <- do.mve(X, knn=10)
output3 <- do.mve(X, knn=20)
## Visualize two comparisons
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,3))
plot(output1$Y, main="knn:k=5", pch=19, col=lab)
plot(output2$Y, main="knn:k=10", pch=19, col=lab)
plot(output3$Y, main="knn:k=20", pch=19, col=lab)
par(opar)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.