EvoCluster: An Open-Source Nature-Inspired Optimization Clustering Framework in Python


EvoCluster is an open source and cross-platform framework implemented in Python which includes the most well-known and recent nature-inspired metaheuristic optimizers that are customized to perform partitional clustering tasks. The goal of this framework is to provide a user-friendly and customizable implementation of the metaheuristic based clustering algorithms which can be utilized by experienced and non-experienced users for different applications. The framework can also be used by researchers who can benefit from the implementation of the metaheuristic optimizers for their research studies. EvoCluster can be extended by designing other optimizers, including more objective functions, adding other evaluation measures, and using more data sets. The current implementation of the framework includes ten metaheuristic optimizers, thirty datasets, five objective functions, twelve evaluation measures, more than twenty distance measures, and ten different ways for detecting the k value.

Team Members:

Raneem Qaddoura,
Hossam Faris,
Ibrahim Aljarah,
and Pedro Castillo


Features

  • Ten nature-inspired metaheuristic optimizers are implemented (SSA, PSO, GA, BAT, FFA, GWO, WOA, MVO, MFO, and CS).
  • Five objective functions (SSE, TWCV, SC, DB, and DI)
  • Thirty datasets obtained from Scikit learn, UCI, School of Computing at University of Eastern Finland, ELKI, KEEL, and Naftali Harris Blog
  • Twelve evaluation measures (SSE, Purity, Entropy, HS, CS, VM, AMI, ARI, Fmeasure, TWCV, SC, Accuracy, DI, DB, and Standard Deviation) )
  • More than twenty distance measures
  • Ten different ways for detecting the k value )
  • The implementation uses the fast array manipulation using [NumPy] (http://www.numpy.org/).
  • Matrix support using [SciPy‘s] (https://www.scipy.org/) package.
  • Simple and efficient tools for prediction using [sklearn] (https://scikit-learn.org/stable/)
  • File data analysis and manipulation tool using [pandas] (https://pandas.pydata.org/)
  • Plot interactive visualizations using [matplotlib] (https://matplotlib.org/)
  • More optimizers, objective functions, datasets, and evaluation measures are coming soon.

Useful Links

  • The source code can be found on GitHub here
  • The Google colab copy can be found here
  • The documentation of the source code can be found here
  • Published Paper can be found here
  • Extended Published Paper can be found here

Published Paper

2 Comments on "EvoCluster: An Open-Source Nature-Inspired Optimization Clustering Framework in Python"

  1. I’m interested on Evocluster ,I need to know each point to which cluster in PSO .thank you

Leave a comment

Your email address will not be published.


*