Skip to content
/ PFCM Public

Possiblistic Fuzzy C-Means Algorithm in Python

License

Notifications You must be signed in to change notification settings

IbraDje/PFCM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PFCM

Possiblistic Fuzzy C-Means Algorithm in Python

  • Algorithm explanation : https://www.researchgate.net/publication/3336300_A_Possibilistic_Fuzzy_C-Means_Clustering_Algorithm

  • Implementation of the algorithm MATLAB : https://www.ijser.org/researchpaper/implementation-of-possibilistic-fuzzy-cmeans-clustering-algorithm-in-matlab.pdf

    Parameters for the main function (pfcm):

    • data: Dataset to be clustered, with size M-by-N, where M is the number of data points and N is the number of coordinates for each data point.
    • c : Number of clusters
    • expo : exponent for the U matrix (default = 2)
    • max_iter : Maximum number of iterations (default = 1000)
    • min_impor : Minimum amount of imporvement (default = 0.005)
    • a : User-defined constant a (default = 1)
    • b : User-defined constant b that should be greater than a (default = 4)
    • nc : User-defined constant nc (default = 2)

    The clustering process stops when the maximum number of iterations is reached, or when objective function improvement or the maximum centers imporvement between two consecutive iterations is less than the minimum amount specified.

    Return values :

    • cntr : The clusters centers
    • U : The C-Partionned Matrix (used in FCM)
    • T : The Typicality Matrix (used in PCM)
    • obj_fcn : The objective function for U and T

    Parameters of the PFCM Prediction function (pfcm_predict)

    • data: Dataset to be clustered, with size M-by-N, where M is the number of data points and N is the number of coordinates for each data point.
    • cntr : centers of the dataset previoulsy calculated
    • expo : exponent for the U matrix (default = 2)
    • a : User-defined constant a (default = 1)
    • b : User-defined constant b that should be greater than a (default = 4)
    • nc : User-defined constant nc (default = 2)
    The algortihm predicts which clusters the new dataset belongs to

    Return values :
    • new_cntr : The new clusters centers
    • U : The C-Partionned Matrix (used in FCM)
    • T : The Typicality Matrix (used in PCM)
    • obj_fcn : The objective function for U and T