0% found this document useful (0 votes)
3 views8 pages

MetaCluster - An Open-Source Python Library For Metaheuristic-Based Clustering Problems

MetaCluster is an open-source Python library designed to address partitional clustering problems using metaheuristic algorithms. It provides a user-friendly interface with extensive documentation, offering access to 48 datasets, over 40 performance metrics, and more than 200 metaheuristic algorithms. The library includes key classes for optimizing KMeans model hyperparameters and K-center weights, facilitating clustering tasks for users with varying experience levels.

Uploaded by

frimouhsene
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views8 pages

MetaCluster - An Open-Source Python Library For Metaheuristic-Based Clustering Problems

MetaCluster is an open-source Python library designed to address partitional clustering problems using metaheuristic algorithms. It provides a user-friendly interface with extensive documentation, offering access to 48 datasets, over 40 performance metrics, and more than 200 metaheuristic algorithms. The library includes key classes for optimizing KMeans model hyperparameters and K-center weights, facilitating clustering tasks for users with varying experience levels.

Uploaded by

frimouhsene
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

SoftwareX 24 (2023) 101597

Contents lists available at ScienceDirect

SoftwareX
journal homepage: www.elsevier.com/locate/softx

MetaCluster: An open-source Python library for metaheuristic-based


clustering problems
Nguyen Van Thieu a, Diego Oliva b, *, Marco Pérez-Cisneros b
a
Faculty of Computer Science, PHENIKAA University, Yen Nghia, Ha Dong, Hanoi 12116, Vietnam
b
Depto. de Ingeniería Electro-Fotónica, Universidad de Guadalajara, CUCEI, Guadalajara, Jalisco, Mexico

A R T I C L E I N F O A B S T R A C T

Keywords: Clustering, based on metaheuristic algorithms, is a rapidly developing field. Its goal is to use these methods to
Metaheuristic algorithms reframe clustering issues as optimization problems. In this study, we propose an open-source library named
Clustering MetaCluster. This library leverages the latest metaheuristic algorithms to tackle partitional clustering challenges.
Evolutionary computation
MetaCluster has two primary goals: to be open-source and to provide a user-friendly interface with compre­
Optimization
hensive documentation. This design aims to facilitate usage for individuals with varying experience levels across
diverse applications and domains. The current version of MetaCluster is easy to install and deploy. It offers access
to 48 available datasets, over 40 performance metrics, more than 40 evaluation measurement methods, and a
wide array of 200 metaheuristic algorithms.

Metadata document categorization, pattern recognition, information retrieval,


and image processing [2–5].
Nr Code metadata description Please fill in this column However, clustering remains a significant challenge in data mining
C1 Current code version v1.2.0
due to its unsupervised nature and the need to determine the appro­
C2 Permanent link to code/repository used https://github.com/thie
for this code version u1995/MetaCluster priate number of clusters [3]. The unsupervised nature deals with un­
C3 Permanent link to reproducible capsule https://pypi.org/project/met labeled data, requiring the discovery of patterns without any prior
acluster/1.2.0/ knowledge of data labels (handling data lacking predefined categories or
C4 Legal code license GNU General Public License (GPL) labels).
C5 Code versioning system used Git
Clustering methods are typically divided into hierarchical and par­
C6 Software code languages, tools and Python
services used titional approaches [6]. Hierarchical clustering involves merging or
C7 Compilation requirements, operating Microsoft Windows, Linux, MacOS splitting clusters based on similarity measures. In contrast, partitional
environments and dependencies methods like k-Means partition data into clusters and aim to minimize
C8 If available, link to developer https://metacluster.readthedocs.
the loss function such as the sum of squared errors (SSE). While parti­
documentation/manual io/en/latest/
C9 Support email for questions [email protected]
tional methods offer simplicity and efficiency, they are challenged by
issues like local optima and sensitivity to initial centroids [6]. Hence,
numerous existing models and new algorithms have been proposed to
address these issues. One of the proposed approaches is to leverage
nature-inspired algorithms (metaheuristic algorithms) [7].
1. Introduction Metaheuristic Algorithms (MHAs) can be categorized into various
groups based on their underlying concepts [8]. For instance, algorithms
Clustering in data mining categorizes data instances into groups inspired by human-related ideas, or interactions can be classified as
(clusters) using predefined similarity metrics, typically represented as human-inspired group, those rooted in evolutionary computing princi­
distance measurements between data points in different clusters. Clus­ ples can be categorized as evolutionary-inspired group, and so forth. We
tering aims to group similar instances and separate dissimilar ones [1]. It visualize these groups and highlight a selection of prominent algorithms
finds widespread use in applications such as customer segmentation,

* Corresponding authors.
E-mail addresses: [email protected] (N. Van Thieu), [email protected] (D. Oliva), [email protected] (M. Pérez-Cisneros).

https://doi.org/10.1016/j.softx.2023.101597
Received 26 September 2023; Received in revised form 21 November 2023; Accepted 23 November 2023
Available online 6 December 2023
2352-7110/© 2023 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
N. Van Thieu et al. SoftwareX 24 (2023) 101597

within each category in Fig. 1. Detailed information about each category problems. However, many practitioners prefer programming languages
and algorithms can be found in Table 3 (Appendix) and in the study [9]. with more extensive libraries and packages that are easier to learn than
By utilizing predefined fitness functions to guide the search agents C++. Additionally, LEAC lacks diversity in algorithm selection as it
toward optimal solutions, MHAs can be effectively applied to partitional mostly uses genetic algorithm modifications for fixed and variable
clustering problems [10]. Notably, they exhibit characteristics such as k-clusters. EvoCluster, on the other hand, has a wider scope and is built
reasonable processing times, resilience against local optima, robustness on top of Python language. It comprises 30 datasets, 12 assessment
in handling noisy data, and the capacity to explore and discover optimal measures, 10 metaheuristic methods, and 5 objective functions. The
data groupings, thereby yielding high-quality clustering results [10]. EvoloPy framework’s capabilities are expanded by EvoCluster, which
Several noteworthy algorithms possessing these characteristics are handles clustering tasks while letting users choose their own clustering
employed in partitional clustering tasks such as Genetic Algorithm (GA) algorithms, objective functions, and evaluation metrics. However, it still
[11], Differential Evolution (DE) [12], Coral Reefs Optimization (CRO) has a limited number of algorithms, fitness functions, evolutionary al­
[13], Particle Swarm Optimization (PSO) [14], Queuing Search Algo­ ternatives, and evaluation techniques. Besides, for users with little
rithm (QSA) [15], Equilibrium Optimization [16], Whale Optimization experience, extending or improving EvoCluster can be difficult due to
Algorithm (WOA) [17], Grey Wolf Optimization (GWO) [18], Life the structure of the EvoCluster library. Furthermore, EvoCluster de­
Choice-based Optimization (LCO) [19], Henry Gas Solubility Optimi­ pends on EvoloPy, a library without any development before 2021. This
zation (HGSO) [20], Sparrow Search Optimization [21], Slime Mould could cause issues for users with bugs or modification requirements.
Algorithm (SMA) [22], Artificial Ecosystem Optimization (AEO) [23], Based on the motivations above, this paper introduces a MetaCluster
among others. library, which implements metaheuristic algorithms for addressing
While these algorithms prove highly valuable, challenges persist partitional clustering problems. We enumerate the contributions of this
when employing MHAs for partitional clustering problems. One notable paper as follows:
challenge is selecting an appropriate fitness function, as it directly in­
fluences the search behavior of these algorithms. Consequently, • MetaCluster library: We are introducing the MetaCluster library, an
choosing the most suitable fitness function for each problem is essential open-source Python library designed for optimizing partitional
[7]. The No Free Lunch theorem [9] shows that different algorithms clusterings by utilizing metaheuristic algorithms.
exhibit varied strengths and weaknesses and that no single algorithm • Provided comprehensive features: MetaCluster provides compre­
excels universally across all tasks. As a result, conducting experiments hensive support, encompassing APIs, examples, documentation, and
with multiple fitness functions and comparing various algorithms be­ test cases.
comes crucial. • Provided extensive resources: MetaCluster incorporates an extensive
However, the availability of libraries specifically designed for par­ array of resources, including 48 datasets, 40 performance metrics, 40
titional clustering problems using metaheuristic algorithms is limited. objective functions, and over 200 metaheuristic algorithms.
Existing libraries, such as MEALPY [9], NiaPy [24], and EvoloPy [25] • Provided three key classes:
contain numerous metaheuristic algorithms, but they are primarily Ø MhaKMeansTuner class: Leveraging more than 200 metaheuristic
designed for general optimization tasks, excluding clustering problems. algorithms, this class optimizes hyperparameters for the KMeans
Since clustering involves optimizing cluster centroids according to a model, including parameters such as n_clusters, init, max_iter,
predefined objective function, requiring specialized implementation, algorithm, etc.
dedicated frameworks and libraries tailored to this purpose are required. Ø MhaKCentersClustering class: This class employs over 200 meta­
Nevertheless, users must know about these libraries, algorithms, and the heuristic algorithms to optimize the K-center weights of the
ability to construct models for specific clustering problems, which can KMeans model. Utilizing these weights, users can determine the
be a significant hurdle for those with limited experience in the field. labels of new data points by using the nearest distance to the
To the best of our knowledge, we have identified only two frame­ cluster centers.
works for clustering that utilize metaheuristic algorithms: LEAC [26] Ø MetaCluster class: This class is a multi-optimizer, multi-objective,
and EvoCluster [27]. LEAC is implemented in C++ and incorporates 22 and multi-trial version of the MhaKCentersClustering class. It can
evolutionary-inspired algorithms for addressing partitional clustering employ multiple metaheuristic algorithms with various objective

Fig. 1. The taxonomy of prominent metaheuristic algorithms.

2
N. Van Thieu et al. SoftwareX 24 (2023) 101597

functions and simultaneously run multiple trials to solve the K- • encoder: This module contains "LabelEncoder" class, which is used
Center Clustering problem. to encode categorical data into numerical form.
• An advantage of MetaCluster is its foundation in the Python pro­ • validator: This module supplies methods for checking the model
gramming language, which boasts a rich ecosystem of libraries parameter values against various constraints.
related to data mining, artificial intelligence, data science, machine
learning, and deep learning. 2.2. Software functionalities

2. Software description As previously stated, one of the main goals of our library is to be
extremely user-friendly and straightforward. Therefore, in this section,
2.1. Software architecture we will discuss the usage of the three main classes proposed by the li­
brary, which include MhaKMeansTuner, MhaKCentersClustering, and
Fig. 2 depicts the comprehensive architecture of the MetaCluster li­ MetaCluster.
brary, which comprises four primary components: the metacluster
module, the mha_cluster module, the data package, and the utils pack­ • The "MhaKMeansTuner" class comprises two main methods: fit() and
age. Each of these components possesses its own classes and functions, predict(). In particular, the fit() function is tasked with finding the
which will be described in detail as follows: optimal set of hyperparameters for the KMeans model based on
The mha_cluster module: It is divided into two primary classes: selected metaheuristic algorithms. Once the model has been
"MhaKMeansTuner" and "MhaKCentersClustering". The "MhaKMeans­ configured with the best parameter set, users can invoke the predict()
Tuner" class is used specifically for tuning KMeans model hyper­ function responsible for assigning labels to new datasets.
parameters such as n_clusters, init, max_iter, and algorithm. The • The "MhaKCentersClustering" class also includes two main methods:
"MhaKCentersClustering" class, on the other hand, is used to optimize fit() and predict(). This class uses the chosen metaheuristic algorithm
the KMeans model’s K-center weights. Users can determine the labels of in the fit() function to learn and identify the best K-center weights for
new data points based on these weights by calculating the closest dis­ the KMeans model. After the model has been trained, users can call
tance to the cluster centers. Both classes can use one of the 200 available the predict() function, which leverages the newly acquired K-center
metaheuristic algorithms to optimize. weights to label new datasets.
The metacluster module: It holds the most pivotal class named • As previously stated, the "MetaCluster" class is the most important
"MetaCluster". This class is a multi-optimizer, multi-objective, and and an upgraded version of the "MhaKCentersClustering" class. As a
multi-trial version of the MhaKCentersClustering class. That means it result, it has three primary functions include execute(), save_box­
can use multiple metaheuristic algorithms with different objective plots(), and save_convergences() that correspond to the following
functions and conduct multiple trials simultaneously to solve the K- goals:
Center Clustering issue. It also offers three methods: "execute()" for Ø Models execution is the first task. Users merely need to call
running the model, "save_boxplots()" for exporting results as boxplots, "model.execute(…)" after specifying the parameters (including
and "save_convergences()" for exporting convergence during the al­ the dataset, a list of algorithms, parameter lists for each method, a
gorithm’s learning phase. list of objective functions, and a list of evaluation metrics). This
The data package: It contains a set of well-known datasets suitable operation triggers all selected algorithms to train, predict the la­
for clustering problems. All available datasets are labeled and can be bels, and automatically save the results.
either real-world or artificially generated. These datasets are taken from Ø Boxplot creation is the second task. After the models have finished
various repositories such as the scikit-learn library (SKL) [11], the UCI running, users can simply call "model.save_boxplots(…)," which
Machine Learning Repository (UCI) [12], the School of Computing at the will save all of the boxplot visualizations for the N trials of each
University of Eastern Finland (UEF) [13], ELKI [14], and the algorithm.
KEEL-dataset repository (KEEL) [15]. Ø The third task is creating convergence charts. It is feasible to
The utils package: It provides universally shared standard compo­ provide visual representations of loss convergence during each
nents that make the framework more reuseable. The following modules run for each model, parameter set, and objective function. Users
and their respective uses are included in this package: just need to use the "model.save_convergences(…)" function to
save all relevant loss convergence images.
• data_loader: The "Data" class and auxiliary functions for reading and
loading readily available data within MetaCluster are included in this 3. Experiment
module.
• mealpy_util: This module is essential since it contains two classes: 3.1. Illustrative examples
"KMeansParametersProblem" and "KCentersClusteringProblem." The
"KMeansParametersProblem" class is specifically designed to specify a) Example of optimizing hyperparameters for the KMeans models.
the hyperparameter optimization issue for the KMeans model. It will
be utilized by the "MhaKMeansTuner" class. On the other hand, the This example assumes that "path-to-file" is the path to a CSV file. The
"KCentersClusteringProblem" class is used to express the optimiza­ data file is named "filename.csv" and has N columns representing fea­
tion problem of K-center weights for the KMeans model. Both of tures, with the last column being the labels for the clustering problem.
these classes derive from the Mealpy library’s "Problem" class, aim­ Naturally, there will be no predefined labels for a clustering task. The
ing to define different optimization issues and utilize methods pro­ Sum of Squared Error Index (SSEI) objective function will be utilized.
vided by optimizers. The Python code snippet in Listing 1 illustrates how to use the MhaK­
• visualize_util: This module offers the functions to generate MeansTuner class for this task. We will employ the Whale Optimization
convergence diagrams and boxplots. Algorithm (WOA) when invoking the fit() function, with algorithm pa­
• io_util: This module provides operation functions for reading and rameters set to epoch = 10 and pop_size = 20.
writing files.
• cluster: Based on a wide range of performance indicators, this a) Example of optimizing K-center weights for the KMeans model using
module’s functions can help determine the ideal number of "K" single algorithm.
cluster centers.
Similar to the previous example, in this scenario, we assume that the

3
N. Van Thieu et al. SoftwareX 24 (2023) 101597

Fig. 2. The overall architecture of MetaCluster library.

Listing 1. Snippet code for optimizing hyperparameters of KMeans model using MetaCluster.

path to the dataset file is "path-to-file", and the file name is "filename. number of runs for each case by n_trials parameters. After calling the
csv". We will employ the hybrid GWO-KMeans model Grey Wolf Opti­ execute() function, the models will be trained and predict labels, and
mization (GWO)for this task. The parameters for the GWO algorithm are then all results will be saved in five several CSV files, including:
set to epoch = 50 and pop_size = 20. These parameters will be passed
through the fit() function of the MhaKCenterClustering class, as shown • result_convergences.csv: This file stores fitness values during the
in the Listing 2. training process.
• result_labels.csv: This file stores the labels of the dataset after
a) Example of optimizing K-center weights using multiple optimizers, training.
objective functions, and trials. • result_metrics.csv: This file stores performance metrics for each run
of each model.
In this example, we will use five hybrid models to demonstrate the • result_metric_mean.csv: This file stores the mean values of perfor­
capabilities of this library: FBIO-KMeans (Forensic Based Investigation mance metrics (after n_trials) for each model.
Optimization), GWO-KMeans (Grey Wolf Optimization), SMA-KMeans • result_metric_std.csv: This file stores the standard deviation values of
(Slime Mould Algorithm), WOA-KMeans (Whale Optimization Algo­ performance metrics (after n_trials) for each model.
rithm), and TLO-KMeans (Teaching Learning-based Optimization). This
test involved three different objective functions and five evaluation As can be seen in the Listing 3, it only takes approximately 18 lines of
metrics. Moreover, each such algorithm was executed ten trials code to accomplish everything. Increasing the number of models or
consecutively. adding more objective functions and performance metrics is also
In contrast to the first two examples, in this instance, we aim to use straightforward. Fig. 3 also illustrates boxplots and convergence charts
the "circles" dataset available in the library. After loading and normal­ generated during the experimental run.
izing the dataset, we set parameters for all models, including epoch = 50
and pop_size = 30. We select a list of objective functions and a list of
performance metrics to pass into the MetaCluster class. Users can set the

4
N. Van Thieu et al. SoftwareX 24 (2023) 101597

Listing 2. Snippet code for optimizing K-center weights of KMeans model using single algorithm with MetaCluster.

Listing 3. Snippet code for optimizing K-center weights of KMeans model using multiple optimizers, objective functions, and trials with MetaCluster.

5
N. Van Thieu et al. SoftwareX 24 (2023) 101597

Fig. 3. The example of boxplots (left) and convergence chart (right) generated by MetaCluster.

To delve further into this library, we provide numerous additional designed and implemented to maximize speed. The remaining three
illustrative examples at Github.1 scenarios exhibit the same pattern. We illustrate the computation time
results for scenario 2 and scenario 3 in Fig. 4, while the computation
time for scenario 4 is depicted in Fig. 5.
3.2. Computation time comparison
4. Impact
In this section, we conduct a computational speed test of our pro­
posed MetaCluster with the EvoCluster library. We design four experi­ The implemented MetaCluster is, to the best of our knowledge, the
mental scenarios as follows: only library that implements more than 200 metaheuristic methodolo­
gies [8]. It accomplishes this as an extension of Mealpy [9],
• Scenario 1: Using 1 algorithm on 1 dataset. well-established within scientific research. Furthermore, MetaCluster
• Scenario 2: Using 1 algorithm on M datasets. provides extensive support for various components, including over 40
• Scenario 3: Using N algorithms on 1 dataset. objective functions, more than 40 evaluation metrics, a wide array of
• Scenario 4: Using N algorithms on M datasets. available datasets (48 datasets), and multiple methods for automatically
detecting the number of clusters (10 methods).
To ensure fairness, the selected algorithms are available in both li­ Numerous novel algorithms have recently been proposed for appli­
braries: SSA, GWO, MVO, and PSO (N = 4). Similarly, the datasets are cation in partitional clustering problems, as seen in studies [28–32].
iris, aggregation, banknote, balance, ecoli, and smiley (M = 6). Table 1 However, the experimental sections of these papers typically do not
contains an overview of the details of the chosen datasets. compare these algorithms against a diverse set of state-of-the-art Met­
Two key parameters influencing the algorithms are Max Generations aheuristic Algorithms (MHAs). Consequently, evaluating these models’
(epoch) set to 50 and the number of search agents in the population efficacy with objectivity is difficult. Therefore, the need for a library like
(pop_size) set to 20. The number of test times (n_trials) is set to 3, and the MetaCluster, which offers many algorithms, becomes evident. This li­
chosen objective function is Sum of Squared Error (SSE). brary enables researchers to swiftly construct various test scenarios,
Table 2 provides a summary of the total computation time (after enabling unbiased comparisons with their models. Simultaneously, it
n_trials runs) of scenario 1. It is evident that the proposed MetaCluster speeds up the experimentation procedure.
library outperforms EvoCluster across all algorithms and datasets. For MetaCluster presents an opportunity to introduce nature-inspired
example, MetaCluster’s methods run around twice as fast as EvoClus­ algorithms into tasks related to clustering, data mining, data science,
ter’s for the Iris dataset. MetaCluster’s methods run about 16 times and various applications associated with partitional clustering. In this
quicker, especially for datasets like banknote with many samples. This is context, MetaCluster can be a tool for comparing, testing, and evaluating
explained by the fact that MetaCluster uses algorithms from the Mealpy existing and newly proposed algorithms.
package, which is optimized for algorithm performance. Furthermore,
MetaCluster’s objectives and performance indicators are specifically 5. Conclusions

Table 1 This study introduces an open-source Python library called Meta­


The characteristics of tested datasets. Cluster, which employs metaheuristic algorithms to address partitional
Dataset #Samples #Features #Labels Type clustering problems. To the best of our knowledge, MetaCluster is one of
iris 150 5 3 Real data
the most extensive libraries available for clustering tasks, boasting a
aggregation 788 3 7 Artificial data repertoire of over 200 nature-inspired optimizers, more than 40 per­
banknote 1372 5 2 Real data formance metrics, over 40 fitness functions, and an array of 48 acces­
balance 625 5 3 Real data sible datasets. The framework is designed flexibly, ensuring developers’
ecoli 336 8 7 Real data
and researchers’ ease of installation and utilization. In the future, we
smiley 500 3 4 Artificial data
plan to extend the capabilities of MetaCluster by supporting parallel
execution of multiple optimizers simultaneously. Additionally, we
intend to incorporate more cutting-edge nature-inspired metaheuristic
algorithms into the library, enhancing their utility and applicability in
diverse research and practical domains.
1
https://github.com/thieu1995/MetaCluster_examples

6
N. Van Thieu et al. SoftwareX 24 (2023) 101597

Table 2
Computation time of EvoCluster versus MetaCluster in scenario 1.
Dataset EvoCluster MetaCluster
SSA GWO MVO PSO SSA GWO MVO PSO

iris 8.12 8.10 8.07 8.37 5.78 3.59 4.02 3.75


aggregation 33.58 32.70 33.02 34.44 6.08 4.52 5.00 4.69
banknote 83.85 77.42 78.37 77.21 5.98 4.39 4.74 4.67
balance 26.39 26.85 27.13 27.28 5.31 4.02 4.51 4.40
ecoli 14.96 15.47 15.39 14.44 5.73 4.20 6.17 4.42
smiley 20.69 22.59 21.23 21.00 5.17 3.80 4.16 4.18

Fig. 4. The computation time of EvoCluster versus MetaCluster in scenario 2 (left) and scenario 3 (right).

curation, Methodology, Software, Writing – original draft, Writing –


review & editing. Diego Oliva: Visualization, Formal analysis, Writing –
original draft, Writing – review & editing, Supervision. Marco Pérez-
Cisneros: Resources, Validation, Funding acquisition, Writing – review
& editing, Project administration.

Declaration of Competing Interest

The authors declare that they have no known competing financial


interests or personal relationships that could have appeared to influence
the work reported in this paper.
Fig. 5. The computation time of EvoCluster versus MetaCluster in scenario 4.
Data availability
CRediT authorship contribution statement
Data will be made available on request.
Nguyen Van Thieu: Conceptualization, Investigation, Data

Appendix
Table 3
The taxonomy of prominent metaheuristic algorithms.

Group-inspired Acronym Optimizer

Evolutionary GA Genetic Algorithm


DE Differential Evolution
CRO Coral Reefs Optimization
Physics NRO Nuclear Reaction Optimization
HGSO Henry Gas Solubility Optimization
EO Equilibrium Optimization
Math AOA Arithmetic Optimization Algorithm
SCA Sine Cosine Algorithm
GBO Gradient-Based Optimization
Human TLO Teaching Learning-based Optimization
FBIO Forensic-Based Investigation Optimization
QSA Queuing Search Algorithm
Swarm GWO Grey Wolf Optimization
(continued on next page)

7
N. Van Thieu et al. SoftwareX 24 (2023) 101597

Table 3 (continued )
Group-inspired Acronym Optimizer

WOA Whale Optimization Algorithm


PSO Particle Swarm Optimization
Bio SMA Slime Mould Algorithm
WHO Wildebeest Herd Optimization
System WCA Water Cycle Algorithm
AEO Artificial Ecosystem-based Optimization

References [17] Nasiri J, Khiyabani FM. A whale optimization algorithm (WOA) approach for
clustering. Cogent Math Stat 2018;5:1483565. https://doi.org/10.1080/
25742558.2018.1483565.
[1] Saxena A, Prasad M, Gupta A, Bharill N, Patel OP, Tiwari A, et al. A review of
[18] Agrawal D, Wasim Qureshi MH, Pincha P, Srivastava P, Agarwal S, Tiwari V, et al.
clustering techniques and developments. Neurocomputing 2017;267:664–81.
GWO-C: grey wolf optimizer-based clustering scheme for WSNs. Int J Commun Syst
https://doi.org/10.1016/j.neucom.2017.06.053.
2020;33:e4344. https://doi.org/10.1002/dac.4344.
[2] Kansal T, Bahuguna S, Singh V, Choudhury T. Customer segmentation using K-
[19] Nguyen BM, Nguyen T, Vu Q-H, Tran HH, Vo H, Son DB, Binh HTT, Yu S, Wu Z.
means clustering. In: 2018 International conference on computational techniques,
A novel nature-inspired algorithm for optimal task scheduling in fog-cloud
electronics and mechanical systems. IEEE; 2018. p. 135–9. https://doi.org/
blockchain system. IEEE Internet Things J 2023. https://doi.org/10.1109/
10.1109/CTEMS.2018.8769171.
JIOT.2023.3292872. 1–1.
[3] Fahad A, Alshatri N, Tari Z, Alamri A, Khalil I, Zomaya AY, et al. A survey of
[20] Ahmed AN, Van Lam T, Hung ND, Van Thieu N, Kisi O, El-Shafie A.
clustering algorithms for big data: taxonomy and empirical analysis. IEEE Trans
A comprehensive comparison of recent developed meta-heuristic algorithms for
Emerg Top Comput 2014;2:267–79. https://doi.org/10.1109/
streamflow time series forecasting problem. Appl Soft Comput 2021;105:107282.
TETC.2014.2330519.
https://doi.org/10.1016/j.asoc.2021.107282.
[4] Afsar MM, Tayarani-N M-H. Clustering in sensor networks: a literature survey.
[21] Nguyen T, Nguyen T, Vu Q-H, Binh Huynh TT, Minh Nguyen B. Multi-objective
J Netw Comput Appl 2014;46:198–226. https://doi.org/10.1016/j.
sparrow search optimization for task scheduling in fog-cloud-blockchain systems.
jnca.2014.09.005.
In: 2021 IEEE International conference on services computing. IEEE; 2021.
[5] Murtagh F, Contreras P. Algorithms for hierarchical clustering: an overview. WIREs
p. 450–5. https://doi.org/10.1109/SCC53864.2021.00065.
Data Min Knowl Discov 2012;2:86–97. https://doi.org/10.1002/widm.53.
[22] Chen Z, Liu W. An efficient parameter adaptive support vector regression using K-
[6] Jain AK. Data clustering: 50 years beyond K-means. Pattern Recognit Lett 2010;31:
means clustering and chaotic slime mould algorithm. IEEE Access 2020;8:
651–66. https://doi.org/10.1016/j.patrec.2009.09.011.
156851–62. https://doi.org/10.1109/ACCESS.2020.3018866.
[7] Nanda SJ, Panda G. A survey on nature inspired metaheuristic algorithms for
[23] Van Thieu N, Barma SD, Van Lam T, Kisi O, Mahesha A. Groundwater level
partitional clustering. Swarm Evol Comput 2014;16:1–18. https://doi.org/
modeling using augmented artificial ecosystem optimization. J Hydrol 2023;617:
10.1016/j.swevo.2013.11.003.
129034. https://doi.org/10.1016/j.jhydrol.2022.129034.
[8] Molina D, Poyatos J, Del Ser J, García S, Hussain A, Herrera F. Comprehensive
[24] Vrbančič G, Brezočnik L, Mlakar U, Fister D, Fister Jr I. NiaPy: Python
taxonomies of nature- and bio-inspired optimization: inspiration versus algorithmic
microframework for building nature-inspired algorithms. J Open Source Softw
behavior, critical analysis recommendations. Cognit Comput 2020;12:897–939.
2018;3:613. https://doi.org/10.21105/joss.00613.
https://doi.org/10.1007/s12559-020-09730-8.
[25] Faris H, Aljarah I, Mirjalili S, Castillo PA, Merelo JJ. EvoloPy: an open-source
[9] Van Thieu N, Mirjalili S. MEALPY: an open-source library for latest meta-heuristic
nature-inspired optimization framework in Python. In: Proceedings of the 8th
algorithms in Python. J Syst Archit 2023;139:102871. https://doi.org/10.1016/j.
international joint conference on computational intelligence. SCITEPRESS -
sysarc.2023.102871.
Science and Technology Publications; 2016. p. 171–7. https://doi.org/10.5220/
[10] José-García A, Gómez-Flores W. Automatic clustering using nature-inspired
0006048201710177.
metaheuristics: a survey. Appl Soft Comput 2016;41:192–213. https://doi.org/
[26] Robles-Berumen H, Zafra A, Fardoun HM, Ventura S. LEAC: an efficient library for
10.1016/j.asoc.2015.12.001.
clustering with evolutionary algorithms. Knowledge-Based Syst 2019;179:117–9.
[11] Nguyen T, Tran N, Nguyen BM, Nguyen G. A resource usage prediction system
https://doi.org/10.1016/j.knosys.2019.05.008.
using functional-link and genetic algorithm neural network for multivariate cloud
[27] R. Qaddoura, H. Faris, I. Aljarah, P.A. Castillo, EvoCluster: an open-source nature-
metrics. In: 2018 IEEE 11th Conference on service-oriented computing and
inspired optimization clustering framework in Python, in: 2020: pp. 20–36. http
applications. IEEE; 2018. p. 49–56. https://doi.org/10.1109/SOCA.2018.00014.
s://doi.org/10.1007/978-3-030-43722-0_2.
[12] Gao W, Yen GG, Liu S. A cluster-based differential evolution with self-adaptive
[28] Aljarah I, Mafarja M, Heidari AA, Faris H, Mirjalili S. Clustering analysis using a
strategy for multimodal optimization. IEEE Trans Cybern 2014;44:1314–27.
novel locality-informed grey wolf-inspired clustering approach. Knowl Inf Syst
https://doi.org/10.1109/TCYB.2013.2282491.
2020;62:507–39. https://doi.org/10.1007/s10115-019-01358-x.
[13] Nguyen T, Nguyen T, Nguyen BM, Nguyen G. Efficient time-series forecasting using
[29] Esmaeili H, Hakami V, Minaei Bidgoli B, Shokouhifar M. Application-specific
neural network and opposition-based coral reefs optimization. Int J Comput Intell
clustering in wireless sensor networks using combined fuzzy firefly algorithm and
Syst 2019;12:1144. https://doi.org/10.2991/ijcis.d.190930.003.
random forest. Expert Syst Appl 2022;210:118365. https://doi.org/10.1016/j.
[14] Alam S, Dobbie G, Koh YS, Riddle P, Ur Rehman S. Research on particle swarm
eswa.2022.118365.
optimization based clustering: a systematic review of literature and techniques.
[30] Ghobaei-Arani M, Shahidinejad A. An efficient resource provisioning approach for
Swarm Evol Comput 2014;17:1–13. https://doi.org/10.1016/j.
analyzing cloud workloads: a metaheuristic-based clustering approach.
swevo.2014.02.001.
J Supercomput 2021;77:711–50. https://doi.org/10.1007/s11227-020-03296-w.
[15] Nguyen BM, Hoang B, Nguyen T, Nguyen G. nQSV-Net: a novel queuing search
[31] Kaur A, Kumar Y. A new metaheuristic algorithm based on water wave
variant for global space search and workload modeling. J Ambient Intell Humaniz
optimization for data clustering. Evol Intell 2022;15:759–83. https://doi.org/
Comput 2021;12:27–46. https://doi.org/10.1007/s12652-020-02849-4.
10.1007/s12065-020-00562-x.
[16] Nguyen T, Nguyen G, Nguyen BM. EO-CNN: an enhanced CNN model trained by
[32] Shukri S, Faris H, Aljarah I, Mirjalili S, Abraham A. Evolutionary static and
equilibrium optimization for traffic transportation prediction. Procedia Comput Sci
dynamic clustering algorithms based on multi-verse optimizer. Eng Appl Artif Intell
2020;176:800–9. https://doi.org/10.1016/j.procs.2020.09.075.
2018;72:54–66. https://doi.org/10.1016/j.engappai.2018.03.013.

You might also like