This is an implementation of the largeVis
algorithm described in (https://arxiv.org/abs/1602.00370). It also incorporates:
- A very fast algorithm for estimating k-nearest neighbors, implemented in C++ with
Rcpp
andOpenMP
. See the Benchmarks file for performance details. - Efficient implementations of the clustering algorithms:
HDBSCAN
OPTICS
DBSCAN
- Functions for visualizing manifolds like this.
- Version 0.1.10 re-adds clustering, and also adds momentum training to largeVis, as well as a host of other features and improvements.
- Version 0.1.9.1 has been accepted by CRAN. Much grattitude to Uwe Ligges and Kurt Hornik for their assistance, advice, and patience.
-
The CRAN binaries are likely to have been compiled with 32-bit ARMA objects, and without OpenMP on OS X.
-
To get 64-bit ARMA objects, add to
~.R/Makevars
:R_XTRA_CXXFLAGS = -DARMA_64BIT_WORD
and recompile from source. (
devtools::install_github("elbamos/largeVis")
will work). -
Getting OpenMP support on OS X is a bit tricky. What I've done, is to install
llvm
(version 3.8 or later), and then add the following to~.R/Makevars
:SHLIB_OPENMP_CFLAGS = -fopenmp R_XTRA_CXXFLAGS = -DARMA_64BIT_WORD LDFLAGS = ""-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" CPPFLAGS = -I/usr/local/opt/llvm/include PATH = /usr/local/opt/llvm/bin:$PATH
-
Recompile from source, as above.