Reusing One Estimator Across Multiple k Values
The estimator workflow is designed around reuse:
clusterer = CoreSGClusterer(k_max=30)
for k in [25, 20, 15, 10]:
clusterer.fit(X, k=k)
labels = clusterer.labels_
Build once, extract several k values
CoreSGClusterer(k_max=30)
↓
fit(X, k=25): build core_sg_ and expose labels_ for k=25
↓
fit(X, k=20): reuse core_sg_ and expose labels_ for k=20
↓
fit(X, k=15): reuse core_sg_ and expose labels_ for k=15
↓
fit(X, k=10): reuse core_sg_ and expose labels_ for k=10
Only the first fit builds the reusable support graph. Later fits update the estimator outputs for the requested k.
Interpretation
k_max defines the largest neighborhood value available from this estimator.
The first fit(...) builds the internal support graph. Every later k
extraction reuses the same core_sg_ object and recomputes the current MST
and hierarchy outputs for that target value.
The attributes labels_, probabilities_, cluster_persistence_, and
the current tree artifacts always refer to the most recent extraction.
Use clusterer.core_sg_ only for advanced inspection of fit-time artifacts.