## 1 Introduction  
Clustering, a fundamental task in machine learning and data mining [1], involves grouping instances with similar characteristics into clusters. A cluster represents a collection of instances, where each member is more similar to other members of the same cluster than to those outside of it. This technique has found numerous applications across various domains, spanning from market research and search engines to psychology, medicine, biology, and beyond. While the concept of clustering dates back to the 1930s, with origins in psychology and anthropology [1], computational limitations initially hindered the progress of clustering techniques. However, the advancement of computing power from the late 1950s onward catalyzed the development of the diverse clustering methods that are widely employed today. Given the intricate calculations and processing necessary for cluster identification, computer science plays a pivotal role in enabling these techniques to thrive. Among the plethora of clustering algorithms, partition-based algorithms are popular and frequently employed. K-means [2] is a partition-based clustering algorithm, targeting the partitioning of instances into k clusters, based on their similarity, leveraging an iterative procedure that assigns instances to the nearest cluster centroid. K-modes [3; 4], a variation of k-means, is suitable for categorical data, by optimizing the modes of attribute values within clusters. Unlike traditional numerical-based distance measures, k-modes employs a dissimilarity measure designed for categorical attributes, enhancing its applicability to datasets where attributes lack numerical meanings. Additionally, k-prototypes [3; 4], an extension that combines both k-means and k-modes, offers a versatile solution for datasets featuring mixed data types--both categorical and numeric attributes. K-prototypes combines the numerical-based distance calculation of k-means with the categorical-based dissimilarity measure of k-modes to handle hybrid data effectively. This makes k-prototypes a valuable tool for clustering datasets that include attributes of varying types. The challenge of selecting the appropriate partition-based clustering algorithm for different data types (numeric, categorical, and mixed) is a crucial aspect, especially for non-expert users. This difficulty serves as a motivation behind the present work, as it aims to provide a user-friendly solution which automatically identifies the most suitable algorithm for the given data type. Furthermore, determining the optimal number of clusters, denoted by k, poses a challenge in k-means clustering and its aforementioned variants. Adjusting the value of k requires prior knowledge of the true number of clusters, which is often unavailable in real-world datasets. Additionally, selecting an inappropriate k may lead to sub-optimal cluster assignments, potentially overlooking meaningful patterns in the data. The elbow method [5] frequently addresses this challenge by identifying the \"elbow point\" in the plot of explained variance versus the number of clusters. The use of the elbow method by the non-expert user for the automatic determination of the k parameter value constitutes the motive of the present work. Moreover, K-means clustering, with or without the incorporation of the elbow method, is available in numerous dedicated standalone software solutions (e.g., Matlab, Weka [6], SPSS, Orange [7], etc.) and programming language libraries (e.g., Python scikit-learn [8] and R clustMixType [9]). K-modes and k-prototypes are not available in the aforementioned standalone applications. However, they are available in the scikit-learn library. Utilizing k-means, its variants and the elbow method within these software and programming environments often entail considerations, such as software licensing, downloading, installation, and the need for specialized expertise in these tools and programming skills. This combination of factors might create barriers, including the need for specific knowledge and skills.