Affinity Propagation
Clustering by passing messages between data points, automatically determines the number of clusters
Clustering by passing messages between data points. Automatically determines the number of clusters.
When to use:
- Don't know number of clusters
- All data points are potential cluster centers
- Small to medium datasets
- Want exemplar-based clustering
Strengths: Automatically finds k, each cluster has an exemplar, no initialization needed, deterministic with fixed random state Weaknesses: Very slow (O(n²) memory, O(n²×iterations) time), many parameters to tune, may not converge
Model Parameters
Damping (default: 0.5) Controls message update stability (0.5 to 1.0).
- 0.5-0.7: More responsive, may oscillate
- 0.7-0.9: More stable
- 0.9-1.0: Very stable but slow convergence
Max Iterations (default: 200) Maximum number of message-passing iterations.
- 100-200: Usually sufficient
- 500+: For difficult convergence
Convergence Iterations (default: 15) Number of iterations with no change that indicates convergence.
- 10-15: Standard
- 20+: More conservative
Random State (default: 42) Seed for reproducibility.