Skip to content

CRAN release 0.1.9

Compare
Choose a tag to compare
@jlmelville jlmelville released this 15 Nov 22:39
· 381 commits to master since this release

uwot 0.1.9

New features

  • New metric: metric = "correlation" a distance based on the Pearson correlation (#22). Supporting this required a change to the internals of how nearest neighbor data is stored. Backwards compatibility with models generated by previous versions using ret_model = TRUE should have been preserved.

Big fixes and minor improvements

  • New parameter, nn_method, for umap_transform: pass a list containing pre-computed nearest neighbor data (identical to that used in the umap function). You should not pass anything to the X parameter in this case. This extends the functionality for transforming new points to the case where nearest neighbor data between the original data and new data can be calculated external to uwot. Thanks to Yuhan Hao for contributing the PR (#63 and #64).
  • New parameter, init, for umap_transform: provides a variety of options for initializing the output coordinates, analogously to the same parameter in the umap function (but without as many options currently). This is intended to replace init_weighted, which should be considered deprecated, but won't be removed until uwot 1.0 (whenever that is). Instead of init_weighted = TRUE, use init = "weighted"; replace init_weighted = FALSE with init = "average". Additionally, you can pass a matrix to init to act as the initial coordinates.
  • Also in umap_transform: previously, setting n_epochs = 0 was ignored: at least one iteration of optimization was applied. Now, n_epochs = 0 is respected, and will return the initialized coordinates without any further optimization.
  • Minor performance improvement for single-threaded nearest neighbor search when verbose = TRUE: the progress bar calculations were taking up a detectable amount of time and has now been fixed. With very small data sets (< 50 items) the progress bar will no longer appear when building the index.
  • Passing a sparse distance matrix as input now supports upper/lower triangular matrix storage rather than wasting storage using an explicitly symmetric sparse matrix.
  • Minor license change: uwot used to be licensed under GPL-3 only; now it is GPL-3 or later.