Closed robjhyndman closed 4 years ago
The Isomap implementation in dimRed does not have an eps
parameter. Does it say so somewhere in the documentation?
If you really want to use an epsilon parameter for Isomap and dimRed, you can use MDS, it will just be as slow as the vegan
implementation:
library(dimRed)
library(vegan)
sr <- loadDataSet("Swiss Roll", n = 2000, sigma = 0.05)
embed(sr, "MDS", ndim = 2, d = function(x) isomapdist(dist(x), epsilon = 5))
In the help page for embed
function, the argument ...
is explained as "internally passed as a list to the dimensionality reduction method as pars = list(...)
", where the pars
is then passed to the fun = function (data, pars, keep.org.data = TRUE)
in your Isomap-class here.
In line 72 and 77, pars$eps
is used because it is an argument for your makeKNNgraph()
function. However, the embed
function is ignoring this eps
parameter. So your Isomap implementation in dimRed does have an eps
parameter.
Does this make sense?
The documentation for
embed()
suggests that additional parameters can be passed via ..., but they seem to be ignored:Created on 2020-04-28 by the reprex package (v0.3.0)