## 2 Related Work
While WEKA, Orange and Scikit-learn provide implementation of the k-means clustering, they do not offer built-in support for k-modes and k-prototypes algorithms. This limitation highlights the importance of considering alternative libraries or tools when working with datasets that require these specialized clustering techniques. Several R libraries offer implementations of the k-means clustering. The \"stats\" package, which is included in the base R distribution, provides k-means implementation. Additionally, the \"cluster\" package [16] introduces more advanced variants of the algorithm which supports various centroids initialization methods. Also, [PERSON] et al. [17] present clValid, a package in R, that includes a set of functions which validates the cluster analysis results. The aforementioned R libraries do not offer directly k-modes and k-prototypes implementations. The clustMixType package [9] offers clustering methods for mixed-type data. While it does not provide a direct implementation of k-modes or k-prototypes, it offers various clustering algorithms suitable for mixed data types. Using the aforementioned libraries require a combination of programming skills, statistical knowledge, and of course, a familiarity with the R environment. Moreover, MATLAB offers built-in implementations of the k-means clustering. The k-means algorithm is available as part of MATLAB's Statistics and Machine Learning Toolbox. MATLAB's toolbox focuses on numerical data analysis and does not provide implementation of the k-modes or k-prototypes algorithm. [PERSON] et al. [18] introduce a consensus clustering algorithm package, namely KCC, in MATLAB targeting at solving problem of consensus clustering. Consensus clustering combines multiple clustering solutions obtained from different algorithms or parameter settings to enhance the stability and reliability of the final clustering results. [PERSON] et al. implement partitions using random sampling of data features or clustering numbers, utility function selection from multiple k-means distances, and a knowledge fusion iterative process of basic partitions. KNIME [19] is an open-source platform for data analytics. KNIME provides a visual programming interface that allows users to create data workflows by connecting various data processing and analysis tasks. It supports a wide range of data manipulation, transformation, and analysis tasks, including data preprocessing, machine learning, and data visualization. KNIME provides extensions that include implementations of k-means, k-modes, and k-prototypes clustering. These algorithms can be utilized within the KNIME visual programming interface. KNIME is a standalone software platform that needs to be installed on a computer with a Windows, macOS, or Linux operating system. Regarding the k-modes and k-means algorithms, which are not as popular as k-means, we briefly present some related works. [PERSON] et al. [20] introduce an audio fingerprint DB structure, based on the MongoDB platform, using the K-modes clustering algorithm. [PERSON] and [PERSON] [21] introduce a clustering algorithm, based on the K-modes, that automatically finds the appropriate number of clusters. The algorithm generates clusters, by targeting at maximizing the matching values of the number of attributes within a cluster; however, the time needed for the algorithm to execute is substantially increased when compared to the original K-Modes algorithm. [PERSON] et al. [22] present two K-modes clustering algorithms, based on the partition entropy-based outlier detection method and on the traditional distance-based outlier detection method, respectively, so as to guarantee that the initial centroids chosen are not outliers. Furthermore, they adopt a new weighted-matching distance measure during the initialization step in order to measure the distance between two items defined by categorical features. [PERSON] et al. [23] present a k-prototypes algorithm parallelization, namely MR-KP, which uses the MapReduce model.