Skip to content

lucy233/fast-nca

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast NCA

Fast implementation of the Neighborhood Component Analysis algorithm in Python.

Examples

sklearn-like API:

from nca import NCA
nca_model = NCA()
nca_model.fit(X, y)

Installation

  • NumPy
  • SciPy
  • Scikit-learn

If you want to use a virtual environment, just run the following commands:

virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt

Metric learning

Benchmarks

Related work

  • Other NCA implementations Python + MATLAB
  • Other metric learning algorithms

Acknowledgements

Iain Murray for supervision and writing a first version of this code.

TODO

  • Add requirements
  • Add examples
  • Add example on MNIST
  • Add some visualizations
  • Add tests
  • Package the code
  • Compute timings
  • Big O notation for memory and computation
  • Write documentation
  • Implement version with mini-batches
  • Provide links to other implementations and outline differences
  • Motivate metric learning
  • Test numerical stability

About

Fast implementation of the Neighborhood Component Analysis algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%