Current collected state Current
Observed since 20 Oct, 17:17 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Clustered Learning of Approximate Manifolds
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).
As of writing this document, the project is still in a pre-1.0 state. This means that the API is not yet stable and breaking changes may occur frequently.
> python3 -m pip install "abd_clam==0.22.3"
from abd_clam.search import CAKES
from abd_clam.utils import synthetic_data
# Get the data.
data, _ = synthetic_data.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 CAKES 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, k = data[0], 0.5, 10
rnn_results = model.rnn_search(query, radius)
# This is how we perform ranged nearest neighbors search with radius 0.5 around
# the query.
knn_results = model.knn_search(query, k)
# This is how we perform k-nearest neighbors search for the 10 nearest neighbors
# of 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.
TODO
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.22.3 | 9 Oct 2023 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:17 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:6fdfbd0c43c8c17909e727a02eab231dc7cffb1ca37c6accf2a0657922649f2a