hypertools
A Python toolbox for gaining geometric insights into high-dimensional data
Science Score: 46.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
4 of 22 committers (18.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.2%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A Python toolbox for gaining geometric insights into high-dimensional data
Basic Info
- Host: GitHub
- Owner: ContextLab
- License: mit
- Language: Python
- Default Branch: master
- Homepage: http://hypertools.readthedocs.io
- Size: 107 MB
Statistics
- Stars: 1,855
- Watchers: 59
- Forks: 163
- Open Issues: 67
- Releases: 22
Topics
Metadata Files
readme.md

"To deal with hyper-planes in a 14 dimensional space, visualize a 3D space and say 'fourteen' very loudly. Everyone does it." - Geoff Hinton

Overview
HyperTools is designed to facilitate dimensionality reduction-based visual explorations of high-dimensional data. The basic pipeline is to feed in a high-dimensional dataset (or a series of high-dimensional datasets) and, in a single function call, reduce the dimensionality of the dataset(s) and create a plot. The package is built atop many familiar friends, including matplotlib, scikit-learn and seaborn. Our package was recently featured on Kaggle's No Free Hunch blog. For a general overview, you may find this talk useful (given as part of the MIND Summer School at Dartmouth).
Try it!
Click the badge to launch a binder instance with example uses:
or
Check the repo of Jupyter notebooks from the HyperTools paper.
Installation
To install the latest stable version run:
pip install hypertools
To install the latest unstable version directly from GitHub, run:
pip install -U git+https://github.com/ContextLab/hypertools.git
Or alternatively, clone the repository to your local machine:
git clone https://github.com/ContextLab/hypertools.git
Then, navigate to the folder and type:
pip install -e .
(These instructions assume that you have pip installed on your system)
NOTE: If you have been using the development version of 0.5.0, please clear your data cache (/Users/yourusername/hypertools_data).
Requirements
- python>=3.6
- PPCA>=0.0.2
- scikit-learn>=0.24.0
- pandas>=0.18.0
- seaborn>=0.8.1
- matplotlib>=1.5.1
- scipy>=1.0.0
- numpy>=1.10.4
- umap-learn>=0.4.6
- requests
- pytest (for development)
- ffmpeg (for saving animations)
Documentation
Check out our readthedocs page for further documentation, complete API details, and additional examples.
Citing
We wrote a short JMLR paper about HyperTools, which you can read here, or you can check out a (longer) preprint here. We also have a repository with example notebooks from the paper here.
Please cite as:
Heusser AC, Ziman K, Owen LLW, Manning JR (2018) HyperTools: A Python toolbox for gaining geometric insights into high-dimensional data. Journal of Machine Learning Research, 18(152): 1--6.
Here is a bibtex formatted reference:
bibtex
@ARTICLE {,
author = {Andrew C. Heusser and Kirsten Ziman and Lucy L. W. Owen and Jeremy R. Manning},
title = {HyperTools: a Python Toolbox for Gaining Geometric Insights into High-Dimensional Data},
journal = {Journal of Machine Learning Research},
year = {2018},
volume = {18},
number = {152},
pages = {1-6},
url = {http://jmlr.org/papers/v18/17-434.html}
}
Contributing
If you'd like to contribute, please first read our Code of Conduct.
For specific information on how to contribute to the project, please see our Contributing page.
Testing
To test HyperTools, install pytest (pip install pytest) and run pytest in the HyperTools folder
Examples
See here for more examples.
Plot
python
import hypertools as hyp
hyp.plot(list_of_arrays, '.', group=list_of_labels)

Align
python
import hypertools as hyp
hyp.plot(list_of_arrays, align='hyper')
BEFORE

AFTER

Cluster
python
import hypertools as hyp
hyp.plot(array, '.', n_clusters=10)

Describe
python
import hypertools as hyp
hyp.tools.describe(list_of_arrays, reduce='PCA', max_dims=14)

Owner
- Name: Contextual Dynamics Laboratory
- Login: ContextLab
- Kind: organization
- Email: contextualdynamics@gmail.com
- Location: Hanover, NH
- Website: http://www.context-lab.com
- Repositories: 35
- Profile: https://github.com/ContextLab
Contextual Dynamics Laboratory at Dartmouth College
GitHub Events
Total
- Release event: 1
- Watch event: 43
- Issue comment event: 1
- Push event: 9
- Pull request event: 4
- Fork event: 3
- Create event: 1
Last Year
- Release event: 1
- Watch event: 43
- Issue comment event: 1
- Push event: 9
- Pull request event: 4
- Fork event: 3
- Create event: 1
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| andrewheusser | a****r@g****m | 991 |
| paxtonfitzpatrick | p****9@d****u | 112 |
| Kirsten Ziman | k****n@g****m | 105 |
| Jeremy R. Manning | j****g@d****u | 85 |
| “KirstensGitHub“ | “****n@g****” | 37 |
| Kirsten | j****6@g****m | 37 |
| Andy Heusser | a****r@A****l | 36 |
| Andy Heusser | a****r@a****u | 28 |
| Ryan Arredondo | s****n@g****m | 22 |
| Leland McInnes | l****s@g****m | 12 |
| Swaroop Guntupalli | s****j@g****m | 8 |
| Chase Williams | b****s@g****m | 8 |
| Aly Sivji | a****i@g****m | 6 |
| Lucy Owen | l****n@g****m | 4 |
| Taylor Miller | t****r@h****m | 3 |
| Dave Willmer | d****r@g****m | 2 |
| Stephanie Wright | s****e@m****g | 2 |
| Feilong Ma | m****g@g****m | 1 |
| cclauss | c****s@b****h | 1 |
| Tim Gates | t****s@i****m | 1 |
| ljchang | l****g@d****u | 1 |
| matko.soric.at | s****o@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 71
- Total pull requests: 35
- Average time to close issues: 9 months
- Average time to close pull requests: 3 months
- Total issue authors: 24
- Total pull request authors: 13
- Average comments per issue: 1.63
- Average comments per pull request: 3.66
- Merged pull requests: 31
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 4 hours
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jeremymanning (24)
- andrewheusser (15)
- paxtonfitzpatrick (9)
- mhlr (3)
- svadams (1)
- logic1988 (1)
- flashpixx (1)
- jjstrydom (1)
- hungtuchen (1)
- lrq3000 (1)
- manybooks (1)
- rob-miller (1)
- RobinYang125 (1)
- themeditatingbrain (1)
- matkosoric (1)
Pull Request Authors
- paxtonfitzpatrick (17)
- andrewheusser (6)
- jeremymanning (3)
- dwillmer (2)
- terrafying (2)
- ljchang (2)
- feilong (1)
- timgates42 (1)
- Aylr (1)
- cclauss (1)
- alokkumary2j (1)
- matkosoric (1)
- lmcinnes (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- pypi 296 last-month
- Total docker downloads: 990
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 72
(may contain duplicates) - Total versions: 64
- Total maintainers: 1
proxy.golang.org: github.com/contextlab/hypertools
- Documentation: https://pkg.go.dev/github.com/contextlab/hypertools#section-documentation
- License: mit
-
Latest release: v0.8.1
published 10 months ago
Rankings
proxy.golang.org: github.com/ContextLab/hypertools
- Documentation: https://pkg.go.dev/github.com/ContextLab/hypertools#section-documentation
- License: mit
-
Latest release: v0.8.1
published 10 months ago
Rankings
pypi.org: hypertools
A python package for visualizing and manipulating high-dimensional data
- Homepage: https://github.com/ContextLab/hypertools
- Documentation: https://hypertools.readthedocs.io/
- License: MIT
-
Latest release: 0.8.1
published 8 months ago
Rankings
Maintainers (1)
Dependencies
- deepdish *
- jupyter_client *
- nbsphinx *
- numpydoc *
- sphinx ==2.3.0
- sphinx-gallery *
- sphinx_bootstrap_theme ==0.6.4
- wikipedia *
- PPCA >=0.0.2
- matplotlib >=1.5.1
- numpy >=1.10.4
- pandas >=0.18.0
- requests *
- scikit-learn >=0.24
- scipy >=1.0.0
- seaborn >=0.8.1
- umap-learn >=0.4.6