We implemented a fuzzy K-Modes clustering algorithm using Genetic Algorithm for categorical data. The algorithm is an extension to the work,"A genetic fuzzy k-Modes algorithm for clustering categorical data".
Outline of the proposed algorithm:
- Intitialize the chromosomes. Each chromosome is a membership matrix representing a possible solution to the clustering problem.
- Evaluating the fitness of the chromosomes.
- Choosing the best parent chromosome.
- Multi-objective rank-based assignment and Roulette Wheel Selection, Crossover and Mutation operations.
- Elitism Operation: Replacing the worst child with the best parent.
- Repeat until termination.
- Clustering solution is the choromosome with the best value for Arithment Rand Index, Inter-cluster separation, and Intre-cluster distance.
The method outperforms the state-of-the-art algorithms in terms of Arithment Rand Index, Inter-cluster separation, Intre-cluster distance and Computation Time.
Requirments
- Python 2.7 or above
Instructions to run
python ega-fmc.py
python ega-fmc-zoo.py
Members
- Medhini Narasimhan (medhini95@gmail.com)
- Suryansh Kumar
- Balaji Balasubramanian