Noise contrastive data visualization
Project description
ncvis
NCVis is an efficient solution for data visualization and dimensionality reduction. It uses HNSW to quickly construct the nearest neighbors graph and a parallel (batched) approach to build its embedding. Efficient random sampling is achieved via PCGRandom. Detailed application examples can be found here.
Using
import ncvis
vis = ncvis.NCVis()
Y = vis.fit_transform(X)
More detailed examples can be found here.
Installation
Conda [recommended]
You do not need to setup the environment if using conda, all dependencies are installed automatically.
$ conda install alartum::ncvis
Pip [not recommended]
Important: be sure to have a compiler with OpenMP support. GCC has it by default, which is not the case with clang. You may need to install llvm-openmp library beforehand.
- Install numpy and cython packages (compile-time dependencies):
$ pip install numpy cython
- Install ncvis package:
$ pip install ncvis
From source [not recommended]
Important: be sure to have OpenMP available.
First of all, download the pcg-cpp and hnswlib libraries:
$ make libs
Python Wrapper
If conda environment is used, it replaces library search paths. To prevent compilation errors, you either need to use compilers provided by conda or switch to pip and system compilers.
-
Conda
$ conda install conda-build numpy cython scipy $ conda install -c conda-forge cxx-compiler c-compiler $ conda-develop -bc .
-
Pip
$ pip install numpy cython $ make wrapper
You can then use pytest to run some basic checks
$ pytest -v recipe/test.py
C++ Binary
-
Release
$ make ncvis
-
Debug
$ make debug
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ncvis-1.5.7.tar.gz
.
File metadata
- Download URL: ncvis-1.5.7.tar.gz
- Upload date:
- Size: 275.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0.post20200106 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c015d84b954d60d5a0985c8709b8dad7ef6274ae9b3cd1f41786ca2ba6f05224 |
|
MD5 | 19dbef153e8ff2d9ee3fc012f73d8110 |
|
BLAKE2b-256 | be5669933c7d3d843464898ca7de89cba1daa8813b0a43c05e7bc99b7bac0af9 |