persistence the extrema are merged. The msc.nn.svm and
msc.nn.kd construct Morse-Smale complex that allow probabilistic
preditcion (using predict) pf the partion assignment of unseen
data points, see also predict.msc.
The nearest neighbor computation uses the ANN library by David M. Mount and
Sunil Arya (http://www.cs.umd.edu/~mount/ANN/).
msc.nn(y, x, knn = ncol(x), pLevelP = 0.2, pLevel, nLevels, type = 1, smooth = FALSE, eps=0.01) msc.nn.kd(y, x, knn = ncol(x)*3, pLevelP = 0.2, pLevel, nLevels, bw, type = 1, smooth = FALSE, eps=0.01) msc.nn.svm(y, x, knn = 3*ncol(x), pLevelP = 0.2, pLevel, nLevels, cost = 1, type = 1, smooth=FALSE, precompute = FALSE, eps=0.01 ) msc.graph(y, x, knn, knnd, nLevels, smooth = FALSE)pLevel are
ignored.max(y) -
min(y)nLevels$+1$ extrema. I.e. from the highest persistence
level with a single minimum and maximum to a persitence level with
nLevels$+1$ extremasmooth is set to true the steepest ascent/descent is not computed
based on the raw function values y but based on the function value obtained
by averaging the function values of the k neareast neighbors. Effectively,
a smoothing of the observed function.eps specifices how close the approximation should be, i.e,
the ratio of distance to approximate neareast neighbor to true neareast
neigbor is at most $1 + $ eps (see the ANN webpage for more details
http://www.cs.umd.edu/~mount/ANN/)"msc", "msc.kd" or "msc.svn" with the following components:
"msc$level" the following components:
[3] Samuel Gerber, Peer-Timo Bremer, Valerio Pascucci, Ross Whitaker, Visual Exploration of High Dimensional Scalar Functions, IEEE Transactions on Visualization and Computer Graphics, vol. 16, no. 6, pp 1271-1280, Nov.-Dec. 2010.
David M. Mount and Sunil Arya ANN library http://www.cs.umd.edu/~mount/ANN/
predict.msc
plot.msc
msc.lm
msc.elnet
msc.slm,
msc.slm.elnet,
data(fourpeaks)
d <- fourpeaks()
#build Morse-Smale complex of m
ms <- msc.nn(y=d[,1], x=d[, 2:3], pLevel=0.1, knn = 15)
ms.kd <- msc.nn.kd(y=d[,1], x=d[, 2:3], pLevel=0.1, knn = 15, bw=0.1)
ms.svm <- msc.nn.svm(y=d[,1], x=d[, 2:3], pLevel=0.1, knn = 15)
#predict partition assignments
p1 <- predict(ms.kd, d[, 2:3])
p2 <- predict(ms.svm, d[, 2:3])
Run the code above in your browser using DataLab