Skip to main content

A simple implementation of Fuzzy C-means algorithm.

Project description


GitHub PyPI GitHub commit activity GitHub last commit

fuzzy-c-means is a Python module implementing the Fuzzy C-means clustering algorithm.


the fuzzy-c-means package is available in PyPI. to install, simply type the following command:

pip install fuzzy-c-means

basic usage

simple example of use the fuzzy-c-means to cluster a dataset in tree groups:

from fcmeans import FCM
from sklearn.datasets import make_blobs
from matplotlib import pyplot as plt
from seaborn import scatterplot as scatter

# create artifitial dataset
n_samples = 50000
n_bins = 3  # use 3 bins for calibration_curve as we have 3 clusters here
centers = [(-5, -5), (0, 0), (5, 5)]

X,_ = make_blobs(n_samples=n_samples, n_features=2, cluster_std=1.0,
                  centers=centers, shuffle=False, random_state=42)

# fit the fuzzy-c-means
fcm = FCM(n_clusters=3)

# outputs
fcm_centers = fcm.centers
fcm_labels  = fcm.u.argmax(axis=1)

# plot result
%matplotlib inline
f, axes = plt.subplots(1, 2, figsize=(11,5))
scatter(X[:,0], X[:,1], ax=axes[0])
scatter(X[:,0], X[:,1], ax=axes[1], hue=fcm_labels)
scatter(fcm_centers[:,0], fcm_centers[:,1], ax=axes[1],marker="s",s=200)

how to cite fuzzy-c-means package

if you use fuzzy-c-means package in your paper, please cite it in your publication.

    author       = "Madson Luiz Dantas Dias",
    year         = "2019",
    title        = "fuzzy-c-means: An implementation of Fuzzy $C$-means clustering algorithm.",
    url          = "",
    institution  = "Federal University of Cear\'{a}, Department of Computer Science" 


this project is open for contributions. here are some of the ways for you to contribute:

  • bug reports/fix
  • features requests
  • use-case demonstrations

to make a contribution, just fork this repository, push the changes in your fork, open up an issue, and make a pull request!


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fuzzy-c-means, version 0.0.6
Filename, size File type Python version Upload date Hashes
Filename, size fuzzy_c_means-0.0.6-py3-none-any.whl (3.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size fuzzy-c-means-0.0.6.tar.gz (3.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page