Pyrandomprojection is a project mainly written in Python, it's free.
Random projection library for Python, converting a dictionary to low-dimensional numpy matrix
by Joseph Turian
Random projection library for Python, converting a dictionary to low-dimensional numpy vector
"Random projection is a simple geometric technique for reducing the dimensionality of a set of points in Euclidean space while preserving pairwise distances approximately" -Santosh Vempala http://www-math.mit.edu/~vempala/rp.html
See also: http://github.com/turian/random-indexing-wordrepresentations A more end-to-end package (rather than drop-in function) for specifically inducing word representations over a corpus, using random indexing (a specific application of random projection).
WARNING:
NOTE:
TODO: Need test suite to make sure that values are consistent across architectures.
REQUIREMENTS:
numpy Output is put in a (dense) numpy vector
My python common library: http://github.com/turian/common
which in turn will require:
* Murmur:
easy_install murmur
http://pypi.python.org/pypi/Murmur/
Provides fast murmur hashes for strings, files, and ziped files.