Clustered Learning of Approximate Manifolds
Project description
CLAM: Clustered Learning of Approximate Manifolds (v0.11.0)
CLAM is a Rust/Python library for learning approximate manifolds from data. It is designed to be fast, memory-efficient, easy to use, and scalable for big data applications.
CLAM provides utilities for fast search (CAKES) and anomaly detection (CHAODA).
Installation
Python
> python3 -m pip install abd_clam
Rust
> cargo add abd_clam
Usage
Python
from abd_clam.search import CAKES
from abd_clam.utils import synthetic_datasets
# Get the data.
data, _ = synthetic_datasets.bullseye()
# data is a numpy.ndarray in this case but it could just as easily be a numpy.memmap if your data do fit in RAM.
# We used numpy memmaps for the research, though they impose file-IO costs.
model = CAKES(data, 'euclidean')
# The Search class provides the functionality described in our [CHESS paper](https://arxiv.org/abs/1908.08551).
model.build(max_depth=50)
# Build the search tree to depth of 50.
# This method can be called again with a higher depth, if needed.
query, radius = data[0], 0.5
rnn_results = model.rnn_search(query, radius)
# This is how we perform ranged nearest neighbors search with radius 0.5 around the query.
# The results are returned as a dictionary whose keys are indices into the data array and whose values are the distance to the query.
knn_results = model.knn_search(query, 10)
# This is how we perform k-nearest neighbors search for the 10 nearest neighbors of query.
# TODO: Provide snippets for using CHAODA
Contributing
Pull requests and bug reports are welcome. For major changes, please open an issue to discuss what you would like to change.
License
Citation
TODO
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
abd_clam-0.11.0.tar.gz
(34.8 kB
view hashes)
Built Distribution
abd_clam-0.11.0-py3-none-any.whl
(42.8 kB
view hashes)
Close
Hashes for abd_clam-0.11.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6e2fd2eaa2f5b5e7d71b19dcce34e7668e2f246dcbd794d1753ca85f7e24d9 |
|
MD5 | 22248612a0e0bdfa792d30acdf330b17 |
|
BLAKE2b-256 | e4bd45507041963eabfaf9fc248e9d20a7e541a2b7e2662ee80acacb4e639d48 |