# SCPP: A Unified Python Library for Soft Clustering

arXiv: https://arxiv.org/abs/2607.19620 · HTML: https://mlsanity.com/paper/2607.19620/

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 13 of its 67 references that are in the map.
- First posted on arXiv 21 Jul 2026.

## Builds on (most cited first, 13 of 13)

- [Categorical Reparameterization with Gumbel-Softmax](https://mlsanity.com/paper/1611.01144/) (2016)
- [Graph Clustering with Graph Neural Networks](https://mlsanity.com/paper/2006.16904/) (2020)
- [Probabilistic Latent Semantic Analysis](https://mlsanity.com/paper/1301.6705/) (2013)
- [Overlapping Community Detection with Graph Neural Networks](https://mlsanity.com/paper/1909.12201/) (2019)
- [Community Detection Clustering via Gumbel Softmax](https://mlsanity.com/paper/2005.02372/) (2020)
- [A Centroid Auto-Fused Hierarchical Fuzzy c-Means Clustering](https://mlsanity.com/paper/2004.12756/) (2020)
- [Fuzzy color model and clustering algorithm for color clustering problem](https://mlsanity.com/paper/2407.06782/) (2024)
- [Fuzzy Clustering to Identify Clusters at Different Levels of Fuzziness: An Evolutionary Multi-Objective Optimization Approach](https://mlsanity.com/paper/1808.03327/) (2018)
- [Multivariate Beta Mixture Model: Probabilistic Clustering With Flexible Cluster Shapes](https://mlsanity.com/paper/2401.16708/) (2024)
- [FOS: A Large-Scale Temporal Graph Benchmark for Scientific Interdisciplinary Link Prediction](https://mlsanity.com/paper/2511.18631/) (2025)
- [Mixture-Models: a one-stop Python Library for Model-based Clustering using various Mixture Models](https://mlsanity.com/paper/2402.10229/) (2024)
- [Adaptive Fuzzy C-Means with Graph Embedding](https://mlsanity.com/paper/2405.13427/) (2024)
- [Extracting Overlapping Microservices from Monolithic Code via Deep Semantic Embeddings and Graph Neural Network-Based Soft Clustering](https://mlsanity.com/paper/2508.07486/) (2025)

## Abstract (arXiv)

In this paper, we present SCPP (Soft Clustering Python Package), an open-source Python framework for soft clustering. SCPP establishes a canonical, scikit-learn-compatible estimator interface that standardizes model training, prediction, membership representation, evaluation, and benchmarking across heterogeneous soft clustering methods, including fuzzy, probabilistic, graph-based, matrix factorization, and deep learning methods. The framework currently integrates 40 representative algorithms together with a comprehensive benchmarking comprising datasets, clustering quality metrics, and standardized runtime, memory, and scalability evaluation. SCPP further provides extensive documentation, practical examples, automated testing, and seamless integration with the scientific Python ecosystem, enabling reproducible experimentation and straightforward extension with new algorithms. The source code is publicly available at https://github.com/soft-clustering/soft-clustering.
