Hypersphere ARTMAP
The Hypersphere backend uses artlib’s Hypersphere ARTMAP implementation.
Its class-owned prototypes use hypersphere geometry, and it supports true
incremental updates through partial_fit and add_sample.
When to use it
Choose Hypersphere ARTMAP for streaming dense data when radius-based prototype geometry is a natural fit. It is often easier to reason about geometrically than complement-coded hyperrectangular categories, while Fuzzy ARTMAP may be a better fit when Fuzzy ART behavior is specifically desired.
Install the optional ARTMAP dependencies with:
pip install "overlapindex[art]"
Invocation
Scale every feature to [0, 1]; OverlapIndex performs complement coding
internally.
from overlapindex import OverlapIndex
oi = OverlapIndex(
model_type="Hypersphere",
rho=0.9,
r_hat=0.5,
match_tracking="MT+",
)
for X_batch, y_batch in stream:
oi.partial_fit(X_batch, y_batch)
print(oi.index)
fit(X, y) is also available when a complete batch should initialize a fresh
model.
Tuning guidance
rhocontrols vigilance; increasing it generally creates finer categories.r_hatconstrains hypersphere radius. Use a finite domain-appropriate value when the default unbounded constraint is not suitable.match_trackingselects the supervised match-tracking behavior.Monitor both score and prototype count when selecting
rhoandr_hat.
This backend requires dense, single-label online data. It does not support
sparse feature matrices or multi-label add_batch updates. See
examples/iris_online_artmap.py and examples/partial_fit_batches.py for
complete streaming examples.