tumap | R Documentation |
A faster (but less flexible) version of the UMAP gradient. For more detail on
UMAP, see the umap
function.
tumap( X, n_neighbors = 15, n_components = 2, metric = "euclidean", n_epochs = NULL, learning_rate = 1, scale = FALSE, init = "spectral", init_sdev = NULL, set_op_mix_ratio = 1, local_connectivity = 1, bandwidth = 1, repulsion_strength = 1, negative_sample_rate = 5, nn_method = NULL, n_trees = 50, search_k = 2 * n_neighbors * n_trees, n_threads = NULL, n_sgd_threads = 0, grain_size = 1, y = NULL, target_n_neighbors = n_neighbors, target_metric = "euclidean", target_weight = 0.5, pca = NULL, pca_center = TRUE, pcg_rand = TRUE, fast_sgd = FALSE, ret_model = FALSE, ret_nn = FALSE, ret_extra = c(), tmpdir = tempdir(), verbose = getOption("verbose", TRUE), batch = FALSE, opt_args = NULL, epoch_callback = NULL, pca_method = NULL, binary_edge_weights = FALSE )
X |
Input data. Can be a |
n_neighbors |
The size of local neighborhood (in terms of number of
neighboring sample points) used for manifold approximation. Larger values
result in more global views of the manifold, while smaller values result in
more local data being preserved. In general values should be in the range
|
n_components |
The dimension of the space to embed into. This defaults
to |
metric |
Type of distance metric to use to find nearest neighbors. One of:
Only applies if If Each metric calculation results in a separate fuzzy simplicial set, which are intersected together to produce the final set. Metric names can be repeated. Because non-numeric columns are removed from the data frame, it is safer to use column names than integer ids. Factor columns can also be used by specifying the metric name
For a given data block, you may override the |
n_epochs |
Number of epochs to use during the optimization of the
embedded coordinates. By default, this value is set to |
learning_rate |
Initial learning rate used in optimization of the coordinates. |
scale |
Scaling to apply to
For t-UMAP, the default is |
init |
Type of initialization for the coordinates. Options are:
For spectral initializations, ( |
init_sdev |
If non- |
set_op_mix_ratio |
Interpolate between (fuzzy) union and intersection as
the set operation used to combine local fuzzy simplicial sets to obtain a
global fuzzy simplicial sets. Both fuzzy set operations use the product
t-norm. The value of this parameter should be between |
local_connectivity |
The local connectivity required – i.e. the number of nearest neighbors that should be assumed to be connected at a local level. The higher this value the more connected the manifold becomes locally. In practice this should be not more than the local intrinsic dimension of the manifold. |
bandwidth |
The effective bandwidth of the kernel if we view the algorithm as similar to Laplacian Eigenmaps. Larger values induce more connectivity and a more global view of the data, smaller values concentrate more locally. |
repulsion_strength |
Weighting applied to negative samples in low dimensional embedding optimization. Values higher than one will result in greater weight being given to negative samples. |
negative_sample_rate |
The number of negative edge/1-simplex samples to use per positive edge/1-simplex sample in optimizing the low dimensional embedding. |
nn_method |
Method for finding nearest neighbors. Options are:
By default, if
or a sparse distance matrix of type |
n_trees |
Number of trees to build when constructing the nearest
neighbor index. The more trees specified, the larger the index, but the
better the results. With |
search_k |
Number of nodes to search during the neighbor retrieval. The
larger k, the more the accurate results, but the longer the search takes.
With |
n_threads |
Number of threads to use (except during stochastic gradient
descent). Default is half the number of concurrent threads supported by the
system. For nearest neighbor search, only applies if
|
n_sgd_threads |
Number of threads to use during stochastic gradient
descent. If set to > 1, then be aware that if |
grain_size |
The minimum amount of work to do on each thread. If this
value is set high enough, then less than |
y |
Optional target data for supervised dimension reduction. Can be a
vector, matrix or data frame. Use the
Unlike |
target_n_neighbors |
Number of nearest neighbors to use to construct the
target simplicial set. Default value is |
target_metric |
The metric used to measure distance for |
target_weight |
Weighting factor between data topology and target
topology. A value of 0.0 weights entirely on data, a value of 1.0 weights
entirely on target. The default of 0.5 balances the weighting equally
between data and target. Only applies if |
pca |
If set to a positive integer value, reduce data to this number of
columns using PCA. Doesn't applied if the distance |
pca_center |
If |
pcg_rand |
If |
fast_sgd |
If |
ret_model |
If |
ret_nn |
If |
ret_extra |
A vector indicating what extra data to return. May contain any combination of the following strings:
|
tmpdir |
Temporary directory to store nearest neighbor indexes during
nearest neighbor search. Default is |
verbose |
If |
batch |
If |
opt_args |
A list of optimizer parameters, used when
|
epoch_callback |
A function which will be invoked at the end of every
epoch. Its signature should be:
|
pca_method |
Method to carry out any PCA dimensionality reduction when
the
|
binary_edge_weights |
If |
By setting the UMAP curve parameters a
and b
to 1
, you
get back the Cauchy distribution as used in t-SNE and LargeVis. It also
results in a substantially simplified gradient expression. This can give
a speed improvement of around 50%.
A matrix of optimized coordinates, or:
if ret_model = TRUE
(or ret_extra
contains
"model"
), returns a list containing extra information that can be
used to add new data to an existing embedding via
umap_transform
. In this case, the coordinates are available
in the list item embedding
. NOTE: The contents of
the model
list should not be considered stable or part of
the public API, and are purposely left undocumented.
if ret_nn = TRUE
(or ret_extra
contains "nn"
),
returns the nearest neighbor data as a list called nn
. This
contains one list for each metric
calculated, itself containing a
matrix idx
with the integer ids of the neighbors; and a matrix
dist
with the distances. The nn
list (or a sub-list) can be
used as input to the nn_method
parameter.
if ret_extra
contains "fgraph"
returns the high
dimensional fuzzy graph as a sparse matrix called fgraph
, of type
dgCMatrix-class.
if ret_extra
contains "sigma"
, returns a vector of the
smooth knn distance normalization terms for each observation as
"sigma"
and a vector "rho"
containing the largest
distance to the locally connected neighbors of each observation.
if ret_extra
contains "localr"
, returns a vector of
the estimated local radii, the sum of "sigma"
and "rho"
.
The returned list contains the combined data from any combination of
specifying ret_model
, ret_nn
and ret_extra
.
iris_tumap <- tumap(iris, n_neighbors = 50, learning_rate = 0.5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.