A series of Jupyter Notebooks experimenting on different dimensionality reduction algorithms and their performance on the MNIST dataset.
There are two options to run the notebooks in this repository:
To start running the docker image:
docker run -it -p 8888:8888 maayanlab/graph-dr:2019
Next, you can open a browser and go to http://localhost:8888. You will be required to enter the token to access the notebook server, which can be found in the terminal running the Docker image.
The recommended way to run these notebooks live is to set up a isolated Python envrionment using virtualenv, after cloning this repository:
git clone https://github.com/MaayanLab/Graph-DR.git
cd Graph-DR/
Run the following to set up a Python virtural environment:
virtualenv venv
Then activate the virtural environment and install the required Python packages:
source venv/bin/activate
pip install -r requirements.txt
Next, you can start a Jupyter server:
jupyter notebook
Some code blocks in the notebooks require Cytoscape (>3.5.1) to be running as the background.
To run the firework layout, you will also need to install the a Cytoscape app AllegroLayout. Once the jar file is downloaded, go to Apps
-> Install from File
-> open the jar file.
- Making sense of principal component analysis, eigenvectors & eigenvalues
- MNIST For ML Beginners
- Visualizing MNIST: An Exploration of Dimensionality Reduction
- Tensorflow Embedding Projector
- van der Maaten's t-SNE page
- van der Maaten et al.: Dimensionality Reduction: A Comparative Review
- van der Maaten: Learning a Parametric Embedding by Preserving Local Structure
- Kokiopoulou and Saad: Enhanced graph-based dimensionality reduction with repulsion Laplaceans
- UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction
- Unsupervised learning: the curious pupil