evclust: Evidential c-Means Clustering
Various clustering algorithms that produce a credal partition, i.e., a set of Dempster-Shafer mass functions representing the membership of objects to clusters. The mass functions quantify the cluster-membership uncertainty of the objects. The algorithms are: Evidential c-Means, Relational Evidential c-Means, Constrained Evidential c-Means, Multiples Relational Evidential c-Means.
Informations
- Title: Evidential c-Means Clustering
- Version: 0.1.1
- Date: 2023-09-01
- License: MIT
- Depends: Pyhton (<3.12, >=3.8)
- Author: Armel SOUBEIGA
- Maintainer: armel.soubeiga@uca.fr
- Contributors : Violaine ANTOINE, Benoit Albert
References
- [1] Denœux, T. (Year). evclust: An R Package for Evidential Clustering. Université de technologie de Compiègne. url https://cran.r-project.org/web/packages/evclust/index.html
- [2] Masson, M. H. et T. Denœux (2008). ECM : An evidential version of the fuzzy c-means algorithm. Pattern Recognition 41, 1384–1397
Installation
$ pip install evclust
Usage
ecm
Computes a credal partition from a matrix of attribute data using the Evidential c-means (ECM) algorithm.
# Import test data
from evclust.datasets import load_decathlon, load_iris
df = load_iris()
df.head()
df=df.drop(['species'], axis = 1)
# Evidential clustering with c=3
from evclust.ecm import ecm
model = ecm(x=df, c=3,beta = 1.1, alpha=0.1, delta=9)
# Read the output
from evclust.utils import ev_summary, ev_pcaplot
ev_summary(model)
ev_pcaplot(data=df, x=model, normalize=False)
Descriptions
Evidential clustering is a modern approach in clustering algorithms that addresses uncertainty in group membership by employing the Dempster-Shafer theory. This approach yields a credal partition, represented by a tuple of mass functions, which captures the uncertain assignment of objects to clusters.
This package offers efficient algorithms for evidential clustering. The package provides functions for visualizing, evaluating, and utilizing credal partitions, allowing for a comprehensive analysis of uncertain group assignments.
It is worth mentioning that the evclust package in Python is based on the previously developed package in R by Thierry Denoeux
Contributing
Interested in contributing? Check out the Contributing Guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
License
evclust
was created by Armel SOUBEIGA. It is licensed under the terms of the MIT license.