Abstract
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 metaheristic optimizers, thirty datasets, five objective functions, and twelve evaluation measures. The source code of EvoCluster is publicly available at (http://evo-ml.com/2019/10/25/evocluster/).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Achtert, E., Kriegel, H.-P., Zimek, A.: ELKI: a software system for evaluation of subspace clustering algorithms. In: Ludäscher, B., Mamoulis, N. (eds.) SSDBM 2008. LNCS, vol. 5069, pp. 580–585. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69497-7_41
Al-Madi, N., Aljarah, I., Ludwig, S.A.: Parallel glowworm swarm optimization clustering algorithm based on MapReduce. In: 2014 IEEE Symposium on Swarm Intelligence (SIS), pp. 1–8. IEEE (2014)
Aljarah, I., Ala’M, A.-Z., Faris, H., Hassonah, M.A., Mirjalili, S., Saadeh, H.: Simultaneous feature selection and support vector machine optimization using the grasshopper optimization algorithm. Cogn. Comput. 10, 478–495 (2018). https://doi.org/10.1007/s12559-017-9542-9
Aljarah, I., Ludwig, S.A.: Parallel particle swarm optimization clustering algorithm based on MapReduce methodology. In: 2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC), pp. 104–111. IEEE (2012)
Aljarah, I., Ludwig, S.A.: MapReduce intrusion detection system based on a particle swarm optimization clustering algorithm. In: 2013 IEEE Congress on Evolutionary Computation (CEC), pp. 955–962. IEEE (2013)
Aljarah, I., Ludwig, S.A.: A new clustering approach based on Glowworm Swarm Optimization. In: 2013 IEEE Congress on Evolutionary Computation (CEC), pp. 2642–2649. IEEE (2013)
Aljarah, I., Mafarja, M., Heidari, A.A., Faris, H., Mirjalili, S.: Clustering analysis using a novel locality-informed grey wolf-inspired clustering approach. Knowl. Inf. Syst. 62, 507–539 (2019). https://doi.org/10.1007/s10115-019-01358-x
Aljarah, I., Mafarja, M., Heidari, A.A., Faris, H., Mirjalili, S.: Multi-verse optimizer: theory, literature review, and application in data clustering. In: Mirjalili, S., Song Dong, J., Lewis, A. (eds.) Nature-Inspired Optimizers. SCI, vol. 811, pp. 123–141. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-12127-3_8
Beyer, H.-G., Schwefel, H.-P.: Evolution strategies - a comprehensive introduction. Nat. Comput. 1(1), 3–52 (2002). https://doi.org/10.1023/A:1015059928466
Cahon, S., Melab, N., Talbi, E.-G.: ParadisEO: a framework for the reusable design of parallel and distributed metaheuristics. J. Heuristics 10(3), 357–380 (2004). https://doi.org/10.1023/B:HEUR.0000026900.92269.ec
Chang, D.-X., Zhang, X.-D., Zheng, C.-W.: A genetic algorithm with gene rearrangement for K-means clustering. Pattern Recogn. 42(7), 1210–1222 (2009)
Chowdhury, K., Chaudhuri, D., Pal, A.K.: A novel objective function based clustering with optimal number of clusters. In: Mandal, J.K., Mukhopadhyay, S., Dutta, P., Dasgupta, K. (eds.) Methodologies and Application Issues of Contemporary Computing Framework, pp. 23–32. Springer, Singapore (2018). https://doi.org/10.1007/978-981-13-2345-4_3
Davies, D.L., Bouldin, D.W.: A cluster separation measure. IEEE Trans. Pattern Anal. Mach. Intell. PAMI–1(2), 224–227 (1979)
Durillo, J.J., Nebro, A.J.: jMetal: a Java framework for multi-objective optimization. Adv. Eng. Softw. 42, 760–771 (2011)
Faris, H., Aljarah, I., Mirjalili, S., Castillo, P.A., Guervós, J.J.M.: EvoloPY: an open-source nature-inspired optimization framework in Python. In: IJCCI (ECTA), pp. 171–177 (2016)
Fortin, F.-A., De Rainville, F.-M., Gardner, M.-A., Parizeau, M., Gagné, C.: DEAP: evolutionary algorithms made easy. J. Mach. Learn. Res. 13, 2171–2175 (2012)
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.: The WEKA data mining software: an update. ACM SIGKDD Explor. Newsl. 11(1), 10–18 (2009)
Pohlheim, H.: GEATbx - the genetic and evolutionary algorithm toolbox for matlab (2006)
Hassani, M., Seidl, T.: Using internal evaluation measures to validate the quality of diverse stream clustering algorithms. Vietnam J. Comput. Sci. 4(3), 171–183 (2017). https://doi.org/10.1007/s40595-016-0086-9
Holland, J.: Genetic algorithms. Sci. Am. 267, 66–72 (1992)
Hubert, L., Arabie, P.: Comparing partitions. J. Classif. 2(1), 193–218 (1985). https://doi.org/10.1007/BF01908075
Keijzer, M., Merelo, J.J., Romero, G., Schoenauer, M.: Evolving objects: a general purpose evolutionary computation library. In: Collet, P., Fonlupt, C., Hao, J.-K., Lutton, E., Schoenauer, M. (eds.) EA 2001. LNCS, vol. 2310, pp. 231–242. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46033-0_19
Kennedy, J., Eberhart, R.: Particle swarm optimization. In: 1995 Proceedings of the IEEE International Conference on Neural Networks, vol. 4, pp. 1942–1948, November 1995
Khurma, R.A., Aljarah, I., Sharieh, A., Mirjalili, S.: EvoloPy-FS: an open-source nature-inspired optimization framework in Python for feature selection. In: Mirjalili, S., Faris, H., Aljarah, I. (eds.) Evolutionary Machine Learning Techniques. AIS, pp. 131–173. Springer, Singapore (2020). https://doi.org/10.1007/978-981-32-9990-0_8
Korošec, P., Šilc, J.: A distributed ant-based algorithm for numerical optimization. In: Proceedings of the 2009 Workshop on Bio-inspired Algorithms for Distributed Systems - BADS 2009. Association for Computing Machinery (ACM) (2009)
Kumar, S., Pant, M., Kumar, M., Dutt, A.: Colour image segmentation with histogram and homogeneity histogram difference using evolutionary algorithms. Int. J. Mach. Learn. Cybernet. 9(1), 163–183 (2018). https://doi.org/10.1007/s13042-015-0360-7
Liu, A., Su, Y., Nie, W., Kankanhalli, M.S.: Hierarchical clustering multi-task learning for joint human action grouping and recognition. IEEE Trans. Pattern Anal. Mach. Intell. 39(1), 102–114 (2017)
Magni, P., Ferrazzi, F., Sacchi, L., Bellazzi, R.: TimeClust: a clustering tool for gene expression time series. Bioinformatics 24(3), 430–432 (2007)
Wall, M.: GAlib: a C++ library of genetic algorithm components (1996)
Mhembere, D., Zheng, D., Priebe, C.E., Vogelstein, J.T., Burns, R.: clusterNOR: a NUMA-optimized clustering framework. arXiv preprint arXiv:1902.09527 (2019)
Mirjalili, S.: Moth-flame optimization algorithm: a novel nature-inspired heuristic paradigm. Knowl.-Based Syst. 89, 228–249 (2015)
Mirjalili, S., Gandomi, A.H., Mirjalili, S.Z., Saremi, S., Faris, H., Mirjalili, S.M.: Salp Swarm Algorithm: a bio-inspired optimizer for engineering design problems. Adv. Eng. Softw. 114, 163–191 (2017)
Mirjalili, S., Lewis, A.: The whale optimization algorithm. Adv. Eng. Softw. 95, 51–67 (2016)
Mirjalili, S., Mirjalili, S.M., Hatamlou, A.: Multi-Verse Optimizer: a nature-inspired algorithm for global optimization. Neural Comput. Appl. 27(2), 495–513 (2015). https://doi.org/10.1007/s00521-015-1870-7
Mirjalili, S., Mirjalili, S.M., Lewis, A.: Grey wolf optimizer. Adv. Eng. Softw. 69, 46–61 (2014)
Nanda, S.J., Panda, G.: A survey on nature inspired metaheuristic algorithms for partitional clustering. Swarm Evol. Comput. 16, 1–18 (2014)
Pedregosa, F., et al.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12(Oct), 2825–2830 (2011)
Peng, P., et al.: Reporting and analyzing alternative clustering solutions by employing multi-objective genetic algorithm and conducting experiments on cancer data. Knowl.-Based Syst. 56, 108–122 (2014)
Prakash, J., Singh, P.K.: Particle swarm optimization with k-means for simultaneous feature selection and data clustering. In: 2015 Second International Conference on Soft Computing and Machine Intelligence (ISCMI), pp. 74–78. IEEE (2015)
Qaddoura, R., Faris, H., Aljarah, I.: An efficient clustering algorithm based on the k-nearest neighbors with an indexing ratio. Int. J. Mach. Learn. Cyber. 11, 675–714 (2019). https://doi.org/10.1007/s13042-019-01027-z
Raitoharju, J., Samiee, K., Kiranyaz, S., Gabbouj, M.: Particle swarm clustering fitness evaluation with computational centroids. Swarm Evol. Comput. 34, 103–118 (2017)
Rand, W.M.: Objective criteria for the evaluation of clustering methods. J. Am. Stat. Assoc. 66(336), 846–850 (1971)
Risso, D., et al.: clusterExperiment and RSEC: a bioconductor package and framework for clustering of single-cell and other large gene expression datasets. PLoS Comput. Biol. 14(9), e1006378 (2018)
Robles-Berumen, H., Zafra, A., Fardoun, H.M., Ventura, S.: LEAC: an efficient library for clustering with evolutionary algorithms. Knowl.-Based Syst. 179, 117–119 (2019)
Romano, S., Vinh, N.X., Bailey, J., Verspoor, K.: Adjusting for chance clustering comparison measures. J. Mach. Learn. Res. 17(1), 4635–4666 (2016)
Rosenberg, A., Hirschberg, J.: V-measure: a conditional entropy-based external cluster evaluation measure. In: EMNLP-CoNLL, vol. 7, pp. 410–420 (2007)
Sheikh, R.H., Raghuwanshi, M.M., Jaiswal. A.N.: Genetic algorithm based clustering: a survey. In: First International Conference on Emerging Trends in Engineering and Technology, pp. 314–319. IEEE (2008)
Shi, Y., Eberhart, R.: A modified particle swarm optimizer. In: 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No. 98TH8360), pp. 69–73. IEEE (1998)
Shukri, S., Faris, H., Aljarah, I., Mirjalili, S., Abraham, A.: Evolutionary static and dynamic clustering algorithms based on multi-verse optimizer. Eng. Appl. Artif. Intell. 72, 54–66 (2018)
Vinh, N.X., Epps, J., Bailey, J.: Information theoretic measures for clusterings comparison: variants, properties, normalization and correction for chance. J. Mach. Learn. Res. 11(Oct), 2837–2854 (2010)
Vrbančič, G., Brezočnik, L., Mlakar, U., Fister, D., Fister Jr., I.: NiaPY: python microframework for building nature-inspired algorithms. J. Open Source Softw. 3, 613 (2018)
Wagner, S., Affenzeller, M.: The HeuristicLab optimization environment. Technical report, University of Applied Sciences Upper Austria (2004)
Wilson, G.C., Mc Intyre, A., Heywood, M.I.: Resource review: three open source systems for evolving programs-Lilgp, ECJ and grammatical evolution. Genet. Program Evolvable Mach. 5(1), 103–105 (2004). https://doi.org/10.1023/B:GENP.0000017053.10351.dc
Wiwie, C., Baumbach, J., Röttger, R.: Comparing the performance of biomedical clustering methods. Nat. Methods 12(11), 1033 (2015)
Yang, X.S., Deb, S.: Cuckoo search via Lévy flights. In: 2009 World Congress on Nature Biologically Inspired Computing, NaBIC 2009, pp. 210–214, December 2009
Yang, X.-S.: Firefly algorithm, stochastic test functions and design optimisation. Int. J. Bio-Inspired Comput. 2(2), 78–84 (2010)
Yang, X.-S.: A new metaheuristic bat-inspired algorithm. In: González, J.R., Pelta, D.A., Cruz, C., Terrazas, G., Krasnogor, N. (eds.) NICSO 2010. SCI, vol. 284. Springer, Berlin (2010). https://doi.org/10.1007/978-3-642-12538-6_6
Acknowledgements
This work has been supported in part by: Ministerio español de Economía y Competitividad under project TIN2017-85727-C4-2-P (UGR-DeepBio).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Qaddoura, R., Faris, H., Aljarah, I., Castillo, P.A. (2020). EvoCluster: An Open-Source Nature-Inspired Optimization Clustering Framework in Python. In: Castillo, P.A., Jiménez Laredo, J.L., Fernández de Vega, F. (eds) Applications of Evolutionary Computation. EvoApplications 2020. Lecture Notes in Computer Science(), vol 12104. Springer, Cham. https://doi.org/10.1007/978-3-030-43722-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-43722-0_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-43721-3
Online ISBN: 978-3-030-43722-0
eBook Packages: Computer ScienceComputer Science (R0)