Next Article in Journal
Constructing a New Multi-Scroll Chaotic System and Its Circuit Design
Previous Article in Journal
Dynamic Credible Spectrum Sharing Based on Smart Contract in Vehicular Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

High-Performance Hybrid Algorithm for Minimum Sum-of-Squares Clustering of Infinitely Tall Data

by
Ravil Mussabayev
1,2,*,† and
Rustam Mussabayev
2,3,†
1
Department of Mathematics, University of Washington, Padelford Hall C-138, Seattle, WA 98195-4350, USA
2
AI Research Lab, Satbayev University, Satbaev Str. 22, Almaty 050013, Kazakhstan
3
Laboratory for Analysis and Modeling of Information Processes, Institute of Information and Computational Technologies, Pushkin Str. 125, Almaty 050010, Kazakhstan
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Mathematics 2024, 12(13), 1930; https://doi.org/10.3390/math12131930
Submission received: 28 May 2024 / Revised: 18 June 2024 / Accepted: 19 June 2024 / Published: 21 June 2024
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
This paper introduces a novel formulation of the clustering problem, namely, the minimum sum-of-squares clustering of infinitely tall data (MSSC-ITD), and presents HPClust, an innovative set of hybrid parallel approaches for its effective solution. By utilizing modern high-performance computing techniques, HPClust enhances key clustering metrics: effectiveness, computational efficiency, and scalability. In contrast to vanilla data parallelism, which only accelerates processing time through the MapReduce framework, our approach unlocks superior performance by leveraging the multi-strategy competitive–cooperative parallelism and intricate properties of the objective function landscape. Unlike other available algorithms that struggle to scale, our algorithm is inherently parallel in nature, improving solution quality through increased scalability and parallelism and outperforming even advanced algorithms designed for small- and medium-sized datasets. Our evaluation of HPClust, featuring four parallel strategies, demonstrates its superiority over traditional and cutting-edge methods by offering better performance in the key metrics. These results also show that parallel processing not only enhances the clustering efficiency, but the accuracy as well. Additionally, we explore the balance between computational efficiency and clustering quality, providing insights into optimal parallel strategies based on dataset specifics and resource availability. This research advances our understanding of parallelism in clustering algorithms, demonstrating that a judicious hybridization of advanced parallel approaches yields optimal results for MSSC-ITD. Experiments on the synthetic data further confirm HPClust’s exceptional scalability and robustness to noise.

1. Introduction

Clustering is a critical task that involves the identification of similar objects within a given set. As digital data continue to grow at an unprecedented rate, this problem has become increasingly challenging and has applications in diverse domains. For instance, in the biological and medical domains, it has been used for gene expression analysis [1], enhancing medical diagnostics [2], and advancing bioinformatics research [3]. In the realm of technology and data, clustering optimizes vector quantization and data compression techniques [4], identifies anomalies [5], aids in pattern recognition and classification [3], dissects time-series data for forecasting [6], and forms the basis for the finance and blockchain sectors [7,8]. Furthermore, in the context of consumer and media analytics, clustering helps in segmenting customers for targeted marketing [9], analyzing images and videos for content extraction [10], and understanding social media trends [11]. Lastly, in the information sciences, it refines information retrieval systems [12] and processes natural language for better human–computer interaction [13], alongside analyzing network and traffic patterns [14].
The most fundamental and widely studied clustering model is the minimum sum-of-squares clustering (MSSC) [15]. It can be formulated as follows. Consider a set of m data points X = { x 1 , , x m } in the Euclidean space R n . Then, MSSC is aimed at finding k cluster centers (centroids) C = c 1 , , c k R n × k that minimize the sum of squared distances from each data point x i to its nearest cluster center c j :
min C f C , X = i = 1 m min j = 1 , , k x i c j 2
where · denotes the Euclidean norm. Each collection of centroids C uniquely defines the corresponding partition X = X 1 X k , where each subset (cluster) X j consists of the points that are closest to c j than to any other centroid. Equation (1) represents the objective function measuring the total squared deviation of data points from their closest centroids. Its global optimization leads to the simultaneous maximization of the similarity between objects within the same cluster and minimization of the similarity between objects in different clusters.
When dealing with big data, where the number of data points is unbounded, i.e., | X | = m = , formulation (1) gives rise to the minimum sum-of-squares clustering of infinitely tall data (MSSC-ITD) problem, which is one of the key contributions of our work. This problem makes traditional clustering methods unfeasible. The MSSC-ITD problem is a novel formulation that we have introduced in this paper, and our proposed algorithm is the first to provide an efficient solution to this challenge. In particular, few clustering algorithms exist that can address this problem, and even fewer can perform a global search in such conditions. Our approach fills this gap, providing a robust and efficient solution to the MSSC-ITD problem.
The research has shown that global minimizers provide the most accurate representation of the clustering structure of a given dataset [16]. However, achieving global minimizers in MSSC is a challenging task due to the highly non-convex nature of the objective function. This non-convexity becomes even more pronounced as the dataset size increases, making the task of finding global minimizers even more complex.
To address this challenge, several approaches have been proposed in the literature to explore the solution space and locate global minimizers, such as gradient-based optimization techniques [17], stochastic optimization algorithms [18], metaheuristic search strategies [16,19], and hybrid approaches [20]. Each of these approaches has its strengths and weaknesses, and there is no all-around solution. As a result, further research is needed to develop more efficient and robust techniques for locating global minimizers in the context of the MSSC-ITD problem.
Apart from the above classification, parallel processing in big data clustering algorithms presents another critical and frequently overlooked aspect. Most approaches that have been discovered in the literature are limited to only data parallelism, which is usually implemented using the MapReduce model. Meanwhile, more sophisticated parallel strategies are either not investigated or not applicable to the big data clustering algorithms available in the literature.
For general k and m, the MSSC algorithms are known to be computationally intensive due to their NP-hard complexity [15]. The NP-hardness of MSSC is heavily exacerbated by big data contexts. High-performance computing (HPC) technologies, including supercomputers and computer clusters, offer a robust platform for tackling such complex problems. By distributing the data across multiple nodes, computers, or processors, parallel processing enables scalable and efficient handling of big data. This approach leverages the combined computational power of multiple computing resources, allowing for faster and more effective execution of MSSC algorithms on massive datasets.
In this work, we propose HPClust, a set of novel parallel approaches for the MSSC-ITD problem. The decomposition principle is at the heart of the HPClust algorithm. This principle not only serves as the algorithm’s cornerstone but also facilitates efficient and effective parallel processing of big data. Parallel processing is one of the core approaches employed for big data clustering. In the current work, we endeavor to comprehensively explore this dimension with the goal of maximizing the performance of the HPClust algorithm in big data contexts.
Four parallel approaches—inner, competitive, cooperative, and hybrid—are proposed to tackle the MSSC-ITD problem. The inner parallel method involves parallelizing distance evaluations in the K-means local search applied within each sequential clustering subproblem, offering scalability in the subproblem size. The competitive strategy implements concurrency at the subproblem level, maximizing diversity in the initial clustering solutions. The cooperative approach simultaneously processes clustering subproblems, maximizing exploration by continuously selecting the best solution and capitalizing on it. The hybrid strategy combines the last two into a multi-strategy competitive–cooperative approach, aiming for an optimal exploration–exploitation trade-off in MSSC-ITD solutions.
The name HPClust can be interpreted in two ways, both reflecting the algorithm’s key strengths. Firstly, “High-Performance Clustering” highlights the algorithm’s computational efficiency, speed, and ability to scale through parallelism, making it a high-performance solution for clustering tasks. Alternatively, “Hybrid Parallel Clustering” emphasizes the innovative combined parallel clustering strategy employed by HPClust, which leverages the strengths of different parallel approaches to achieve superior performance. This hybrid strategy sets HPClust apart as a winning solution in the field of parallel clustering algorithms.
Notably, our algorithm boasts a significant conceptual advantage as one of the few clustering algorithms that is inherently parallel in nature. This allows it to improve solution quality through increased scalability and parallelism, setting it apart from other algorithms that may struggle to scale. Moreover, our algorithm is capable of competing with advanced clustering algorithms designed for small- and medium-sized datasets, demonstrating its versatility and robustness. Unlike other algorithms where parallelism is a forced add-on, our algorithm’s parallel nature is an intrinsic property that enables seamless scalability.
While other approaches to clustering often rely solely on data parallelism, our approach utilizes a combination of more advanced and sophisticated parallelism types. Data parallelism involves dividing the dataset into smaller chunks and processing each chunk simultaneously on different processors but only brings advantages in processing time. In contrast, task parallelism (functional parallelism) enables us to execute different tasks or functions of the clustering algorithm in parallel, allowing for more flexibility and effectiveness when merging their results. Furthermore, hybrid parallelism combines these approaches, allowing us to leverage the strengths of each to achieve better results. Unlike other parallel approaches that only focus on scaling clustering in the data space without guarantees on solution quality, our approach leverages the strengths of different parallelism types by combining data parallelism with task parallelism and hybrid parallelism, achieving better results. This integrated approach sets our method apart from others, which often rely on a single type of parallelism, and enables us to deliver higher-quality clustering solutions and scalability in big data clustering.
Furthermore, we provide a comprehensive review of various parallel and high-performance computing techniques used for big data clustering and indicate their strengths and weaknesses. We pinpoint the intricacies involved in the process of applying these approaches to HPClust, as well as exhibit the obtained insights in the form of a tutorial on applying parallel and high-performance computing technologies to the problem of big data clustering.
Our paper is structured as follows. Section 2 surveys the key developments and strategies in the field of parallel clustering algorithms. Section 3 presents the proposed HPClust algorithm, while Section 4 describes its various parallel strategies. Section 5 provides an overview of modern high-performance techniques for optimizing big data clustering algorithms, highlighting key nuances and considerations in the implementation details of the HPClust algorithm. Section 6 describes our experimental setup and its methodology. Section 7 provides a detailed analysis and interpretation of our experimental findings, along with insights into trade-offs. Section 8 offers practical guidelines for selecting the optimal parallel strategy for HPClust, aimed at big data clustering practitioners. Finally, Section 9 concludes our work and identifies promising future research directions.

2. Related Works

In the field of big data clustering, many methods have been created that work in parallel and distribute the workload to handle the difficulties presented by the large size, complex dimensions, and real-time nature of big data. Parallelism and distributed computing appear as two prominent techniques for big data clustering.
Usually, parallel processing in clustering algorithms involves dividing the data into smaller subsets, clustering them simultaneously on multiple processors, and aggregating these partial results into a global solution. This helps in reducing the computation time and makes the clustering process much more efficient. It is usually used when the data are too large to fit into memory or the computation time is a bottleneck.
Distributed computing, on the other hand, involves the distribution of big data across multiple machines. Clustering is then performed in a distributed manner using frameworks like Apache Hadoop or Apache Spark [21]. By distributing the data and computations, processing time is reduced, and scalability is achieved. This approach is useful when a dataset is unacceptably large to be stored and processed on a single machine.
The K-means [22] algorithm with the Forgy initialization [23] is a commonly used traditional clustering method due to its simplicity and effectiveness. However, its application to big data can pose problems due to its high time complexity, which is ( m · n · k ) for a single iteration, and the need to store all data in memory. The pseudocode of the Forgy K-means clustering method is provided in Algorithm 1.
Algorithm 1: Forgy K-Means Clustering
Mathematics 12 01930 i001
To circumvent the time complexity limitations of traditional approaches, like Forgy K-means, some parallel and distributed clustering algorithms have been suggested in the literature. The MapReduce framework is by far the most popular approach to scale clustering in the data space [24]. Zhao et al. [25] implemented a distributed version of K-means according to the MapReduce concept that led to a significant speed-up compared to the sequential version without any guarantees on the clustering solution quality.
A widely adopted method to handle large datasets that cannot be accommodated entirely in RAM is the Minibatch K-means algorithm [26]. It is an online version of the K-means algorithm that employs random subsets, or minibatches, of a dataset during each iteration to update the current solution. While this technique significantly accelerates computation time, it sacrifices the clustering quality since it exerts no control over the solution updates across iterations. Moreover, Minibatch K-means is an inherently sequential algorithm, amenable to only data parallelism.
Bahmani et al. [27] developed a scalable version of K-means++ that merges the advantages of K-means++ and Mini-batch K-means. However, our experimental evaluation on large real-world datasets showed that K-means | | , while being on par with K-means++ in speed, is significantly worse than K-means++ with respect to solution quality.
Alguliyev et al. proposed an innovative approach in their study, where they introduced the parallel batch K-means for big data clustering (PBK-BDC) algorithm [28]. This algorithm partitions large datasets into smaller segments, clusters them with the help of K-means, and aggregates the resulting cluster centers into a final pool. The algorithm then clusters the pool using K-means again. The pseudocode for the PBK-BDC algorithm can be found in Algorithm 2. Notably, PBK-BDC is one of the most prominent partition-based clustering algorithms. In the original paper, the authors empirically evaluated PBK-BDC and found that it outperformed the classical K-means algorithm [28]. However, this evaluation did not compare PBK-BDC to other advanced algorithms for clustering large datasets, leaving room for further research.
Algorithm 2: PBK-BDC Clustering Method
Mathematics 12 01930 i002
Mohebi et al. [21] conducted a comprehensive review of various parallel algorithms and concluded that the field of big data clustering using parallel computing is still in its emergent stage and offers significant scope for further research. They observed that parallel data processing can potentially reduce the clustering time of large datasets, but it may also have an adverse impact on the quality and performance of clustering. Thus, the primary objective of research in this area should be to achieve an optimal balance between quality and speed of clustering for big data applications.
Our proposed HPClust algorithm, utilizing advanced parallel processing techniques and intelligent sample selection, seeks to fill the gaps in the field. HPClust proves that advanced parallel strategies and careful algorithm design may optimize both the efficiency and effectiveness of clustering algorithms simultaneously, while maintaining exceptional scalability across various data scales.

3. Proposed Algorithm

We propose HPClust, an array of parallel heuristic approaches for solving the MSSC-ITD problem via high-performance computing techniques. The algorithm’s main idea is to apply the problem decomposition technique, letting each parallel worker iteratively process a sequence of subproblems, and intelligently combine the obtained partial results into a single global clustering solution.
Each parallel worker w operates by sequentially clustering the incoming samples from a large dataset. It begins by randomly selecting a small sample S of size s from X and uses the K-means++ algorithm to obtain the initial configuration of centroids C. The worker then clusters each new incoming sample by the K-means algorithm using the best set of centroids C w (or C b e s t ) obtained from all previously processed samples for the current worker (or among all parallel workers), called the incumbent solution. The incumbent solution is chosen based on the objective function value (1) obtained on a sample. This “keep the best” principle allows the algorithm not to lose information about the best local minimum obtained so far, and more iterations can only lead to further improvements.
HPClust solves the issue of degenerate clusters (also known as empty clusters) by reinitializing them with K-means++ when all data points are reassigned to other clusters. This introduces new cluster centers, enhancing the overall clustering solution and increasing opportunities to minimize the objective function. Furthermore, introducing new samples in each iteration perturbs the incumbent solution, injecting variability into the clustering outcomes.
When a stop condition is reached by any parallel worker (e.g., a time limit or maximum number of processed samples), the algorithm selects the final centroid set C by choosing the solution obtained by the worker with the lowest incumbent sample objective function. Then, HPClust assigns data points of the entire dataset to their closest cluster centers in the final centroid set C. However, this final assignment step may be omitted if only the final centroids or a limited set of assignments are required.
HPClust’s iteration time complexity is ( s · n · k ) (where k is the number of clusters). The algorithm’s scalability can be fine-tuned by selecting suitable sample sizes and counts. By processing smaller subsets of the data in each iteration, the computational demands are substantially reduced. Additionally, employing random subsets of the data during each iteration and periodically re-initializing the centroids of degenerate clusters prevents the algorithm from being trapped in suboptimal solutions. This allows the algorithm to explore different parts of the objective function’s landscape, potentially finding better solutions than a single application of the K-means algorithm.

4. Parallel Strategies for the HPClust Algorithm

The HPClust algorithm is designed to be highly parallel in nature. Four different parallel strategies can be employed:
  • Inner parallelism (HPClust-inner): Employs parallel clustering at the implementation level of K-means and K-means++, processing individual data samples sequentially while parallelizing the calculation of minimum distances;
  • Competitive parallelism (HPClust-competitive): Independent workers process individual data samples in parallel, each using its own previous best centroids C w for initialization, and the best solution is selected when the stopping criterion is met. A pseudocode of the HPClust-competitive algorithm is shown in Algorithm 3;
  • Cooperative parallelism (HPClust-cooperative): Workers share information on best solutions and use the best set of centroids C b e s t obtained from all previous iterations across every worker, initializing each subsequent sample using the cooperative knowledge. A pseudocode of the HPClust-cooperative algorithm is provided in Algorithm 4;
  • Hybrid or competitive–cooperative parallelism (HPClust-hybrid): Combines competitive and cooperative strategies, initially utilizing diversity through competitive parallelism for a duration of T 1 seconds or N 1 iterations and then capitalizing on the most successful evolved form through cooperative parallelism for an additional T 2 seconds or N 2 iterations. A pseudocode of the HPClust-cooperative algorithm is presented in Algorithm 5.
The goal of the hybrid mode is to leverage the advantages of both competitive and cooperative approaches, ensuring diversity and exploiting the most successful solutions. Flowcharts for the competitive and cooperative strategies are provided in Figure 1 and Figure 2.
The HPClust algorithm source code, including implementations of various parallel strategies, is available at https://github.com/rmusab/hpclust (accessed on 28 May 2024).
Our study focuses on the efficiency of parallel interaction strategies, assuming equal access to the full-sized dataset and independent sampling, without exploring distributed data storage optimizations, which are left for a separate study.
Algorithm 3: Competitive HPClust Clustering
Mathematics 12 01930 i003
Algorithm 4: Cooperative HPClust Clustering
Mathematics 12 01930 i004
Algorithm 5: Hybrid HPClust Clustering
Mathematics 12 01930 i005

5. High-Performance Techniques in HPClust

5.1. Analytical Optimization

In the analytical optimization of computational algorithms, several high-performance computing techniques are relevant. These techniques represent algorithmic improvements or theoretical advancements applied at the abstract level of the algorithm itself.
  • Parallel processing of iterations;
  • Data sampling and partitioning;
  • Tuning the level of parallelism;
  • Optimizing inter-process communication.
The parallel processing of iterations allows for the simultaneous processing of multiple iterations. This strategy employs the execution of various instances of the algorithm on different subsets of data, significantly reducing the time required for convergence [29].
In relation to data management, HPClust can operate on subsets of data, allowing for a strategy of data partitioning. The initial dataset can be divided into smaller sections, each to be processed by an individual computing unit. This technique, known as data parallelism, proves particularly useful when handling datasets that exceed the memory capacity of a single machine [30].
The strategy of data sampling, wherein a random sample is selected from the dataset, can also be parallelized [31]. Especially in cases of extensive datasets, scanning the complete dataset becomes time-consuming. By distributing the dataset across multiple processors, each can sample a section of the data independently. Then, the resultant samples can be combined.
Tuning the level of parallelism to the specifics of a dataset can lead to significant performance improvements [32].
Optimizing inter-process communication by designing an algorithm to minimize data transfer between processes can improve performance. Techniques such as compression, delta encoding, or other forms of data reduction can also be utilized [33].

5.2. Nuances of Parallelism in HPClust

The HPClust algorithm, a partitioning-based clustering method, is well-suited for parallelism across its key processes. Within its inner parallel variant, HPClust-inner, two primary operations—initialization and centroid updating—can be executed concurrently. Initially, the algorithm leverages K-means++ on a subset of data, calculating distances from points to centroids, which can be carried out in parallel due to the independent nature of these calculations.
During each K-means iteration, the algorithm updates centroids (denoted as C n e w ) by measuring distances from all points in the sample to these new centroids, thereby redefining clusters. This centroid update phase shares the parallelizable characteristic of the initialization phase.
Despite the benefits of parallel processing in speeding up these tasks, it introduces certain challenges, such as the need for effective load balancing across cores or processors to avoid inefficiencies like idle processors, especially when the sample size s is much smaller than the number of processors.
Moreover, implementing parallel computation in HPClust requires careful attention to concurrency control to avoid race conditions—scenarios where the outcome depends on the order or timing of thread execution. In HPClust, threads may concurrently modify shared memory, such as updating centroid or data point memberships, potentially leading to inconsistent results.
To address these issues, synchronization mechanisms like locks, semaphores, or atomic operations are essential to ensure single-thread access to shared data, maintaining consistency and integrity. Optimizing the algorithm to reduce shared memory access can also help minimize race conditions. However, over-synchronization should be avoided as it can cause thread contention and decrease parallel efficiency.
For HPClust’s parallel performance, it is important to achieve an optimal balance between data protection and computational speed. The aim is to improve computational speed through parallel processing without altering the clustering outcomes, maintaining consistency in results irrespective of the processor count. However, unlike other parallel clustering algorithms, this is not required for HPClust. Instead, HPClust can achieve higher accuracy by performing more iterations within a fixed time interval. This means that parallelism in HPClust improves not only efficiency but also accuracy.
Furthermore, the robustness of HPClust’s parallel strategies is evident in centroid initialization, where allowing each worker to independently determine the initial centroids helps overcome the challenges of poor initial selections, a known issue in K-means clustering. This feature emphasizes the importance of effective parallel design in maximizing HPClust’s performance and accuracy.

5.3. Implementation-Level Optimization

To technically optimize the performance of HPClust on parallel or distributed computing systems, the following programmatic implementation-related techniques can be employed:
  • Vectorized operations;
  • SIMD instructions;
  • Concurrent data structures;
  • Distributed computing;
  • Load balancing;
  • Parallel random number generation;
  • Parallel input/output (I/O).
Furthermore, the utilization of vectorized operations also contributes to the optimization process. Libraries such as NumPy in Python and Armadillo in C++ offer the capacity for vectorized operations. The use of these operations across entire arrays, rather than individual elements, can lead to substantial speed increases. This is due to the reduction in loop overhead and more efficient utilization of CPU features [34].
Simultaneously, modern CPUs provide support for single instruction multiple data (SIMD) instructions. With these, the same operation can be performed across multiple data points concurrently [35]. Vectorizing the computations, such as distance calculations in the HPClust algorithm, allows for the exploitation of these instructions, resulting in significant speed gains.
Modern programming languages and libraries offer concurrent data structures, which are designed for safe use across multiple threads or processes. These structures can prevent race conditions and synchronization issues, contributing to the efficiency of parallel algorithms [36].
For extremely large datasets that exceed the memory of a single machine, distributed computing frameworks such as Apache Hadoop or Apache Spark are beneficial. These frameworks facilitate the distribution of data and computation across several nodes in a cluster, accommodating larger datasets than would be possible on a single machine [30].
Load balancing is a strategy to efficiently use computational resources, ensuring an even distribution of work across all threads or processes. This strategy may include the dynamic assignment of tasks to processors based on their current workload. Alternatively, more sophisticated load-balancing algorithms can be employed [37].
The generation of random numbers, a function of the HPClust algorithm, can also be performed in parallel. Several techniques and libraries support parallel random number generation, maintaining independent and identically distributed numbers [38].
Finally, parallel I/O techniques can help alleviate the bottleneck caused by input/output operations such as reading data from a disk or writing results back. A parallel file system or separate threads or processes performing I/O operations can facilitate this [39].
To implement these parallel strategies, various libraries and frameworks can be utilized. OpenMP or MPI in C/C++ and multiprocessing in Python offer traditional approaches. For GPU-accelerated parallel computation, CUDA or OpenCL are typically used. However, for a balance between functionality and simplicity, one might also consider employing modern libraries such as Numba. Numba provides a just-in-time compiler for Python that is easy to use yet powerful. Mojo is another notable option, providing simple and efficient parallelization solutions with a focus on high-level, user-friendly interfaces. To take full advantage of modern hardware architectures, one could use optimized numerical libraries, such as Intel’s Math Kernel Library (MKL) or cuBLAS for GPUs. These libraries provide highly optimized implementations of common mathematical operations, which can lead to significant speedups.
Numba [40,41] is a key instrument in high-performance computing, featuring optimization capabilities such as parallelization, multi-threading, and vectorization. These features are core strategies in performance optimization, transforming the execution speed of Python functions, loops, and numerical computations. Numba’s dynamic generation of optimized machine code for both CPUs and GPUs further contributes to this performance boost, converging Python’s usability and the speed of lower-level languages.
Numba’s proficiency extends to CUDA support, facilitating the optimization of computational procedures through the use of NVIDIA GPUs. Moreover, it showcases seamless integration with Python’s scientific stack, demonstrating compatibility with NumPy, SciPy, and Pandas, thereby optimizing Python’s computational efficiency. In the context of distributed computing, Numba’s interplay with Dask, a parallel computing library in Python, introduces an additional level of optimization, enabling efficient large-scale computations. Therefore, Numba serves as a potent tool in scientific computing, optimizing the bridge between Python’s user-friendly nature and the computational efficiency of lower-level languages.

5.4. Future Optimization Directions

Future optimization of the HPClust algorithm can leverage the following high- performance techniques:
  • Dynamically adjusting the number of threads;
  • Reducing communication overhead.
The number of threads can be adjusted dynamically, depending on the current system load and the size of the processed data subset, maximizing the use of CPU cores [32].
The overhead in communication between different threads or processes is a major concern in parallel algorithms [33]. Designing the algorithm to allow each thread or process to operate independently, reducing the need for communication, can address this.

6. Experimental Setup

6.1. Hardware and Software

Our experiments were conducted on an Ubuntu 22.04 64-bit system, equipped with an AMD EPYC 7663 Processor. The machine has 1.46 TB of RAM and runs Python 3.10.11, NumPy 1.24.3, and Numba 0.57.0. We utilizes Numba to accelerate Python code through just-in-time compilation and also to enable parallel processing capabilities.

6.2. Competitive Algorithms

We compare the performance of HPClust, equipped with different parallel strategies, to two benchmark algorithms: Forgy K-means [23] and PBK-BDC [28]. Forgy K-means serves as a basic lower benchmark, representing a simple and straightforward approach. On the other hand, PBK-BDC is an advanced upper benchmark that represents the most optimized big data clustering algorithm available in the literature [28].

6.3. Datasets

The experiments were conducted on 23 datasets: 19 are publicly available (detailed in Table 1 and Table 2), and 4 are normalized. These datasets, which are numerically based and have no missing values, vary significantly in size, from 7797 to 10,500,000 instances, and feature 2 to 5000 attributes. This variety ensures testing of HPClust’s adaptability across different data scales. Additionally, we align our methodology with Karmitsa et al. [17] for comparative analysis.

6.4. Experimental Design and Evaluation Metrics

Each dataset undergoes clustering n e x e c times into k clusters of varying sizes. Each execution of an algorithm on some pair ( X , k ) is considered an experiment. The total number of conducted experiments reaches 22 , 098 . We assessed each experiment by measuring the resulting relative error ( ε ), CPU time (t), and baseline convergence time ( t ¯ ). The relative error reveals the performance relative to historical bests: ε = 100 · ( f f * ) / f * . Sometimes, a relative error may yield a negative value, which actually indicates an even more impressive performance by the algorithm, surpassing expectations.
For HPClust, the clustering time t represents the time until the last solution update of the fastest worker. Also, we employ a special baseline convergence time metric, t ¯ , to more accurately measure clustering time, avoiding bias from minor late-stage improvements. More specifically, for each pair ( X , k ) , the baseline convergence time t ¯ is calculated as the time to achieve a baseline sample objective value f ¯ s , which is the maximum (relative to the algorithms) median of the best sample objectives obtained across n e x e c runs. Then, the baseline convergence time t ¯ is defined as the time until any worker reaches this baseline sample objective value.

6.5. Hyperparameter Selection

We set a maximum CPU time limit T and stop the K-means clustering process if iterations exceed 300 or the improvement between two consecutive objectives is less than 10 4 . For K-means++, we consider three candidate points for sampling each new centroid.
Sample sizes are optimized based on preliminary tests to ensure no further adjustments improve performance. The specific values of T and n e x e c can be found in the detailed tables of experimental results included in the Supplementary Materials.

6.6. Preliminary Experiments

Preliminary experiments helped establish the baselines and optimize parameters. Initially, we established that having 8 CPUs would be the optimal value for the subsequent experiments. In this context, the optimal selection means that this choice achieves the best balance between the solution quality and execution time simultaneously for all the considered algorithms, allowing for further fair comparison under equal conditions.
The subsequent preliminary experiments involved running parallelized HPClust versions to establish baseline sample objective values f ¯ s and fine-tuning the hybrid parallel approach by experimenting with different time splits ( T 1 and T 2 ).

6.7. Main Experiments

The main experimental results are displayed using a special table format. Each algorithm and pair ( X , k ) originate a series of n e x e c experiments. Each series has minimum, median, and maximum resulting values of relative accuracy and time, which are calculated across n e x e c executions of the algorithm on configuration ( X , k ) . The means of these metrics across the values of k for each dataset are displayed in the corresponding columns of the presented tables. Table 3 and Table 4 provide a comparison of the proposed HPClust parallel strategies, while Table 5 and Table 6 compare the best HPClust parallel strategy with the selected competitive algorithms.
For instance, for a particular algorithm, we have the following entry in a table: ISOLET #Succ = 6/7; Min = 0.01; Med = 0.24; Max = 0.59. In this case, the ratio 6/7 indicates that for each of the 7 different values of k {2, 3, 5, 10, 15, 20, 25}, we performed a series of runs for each of the compared algorithms. For each fixed choice of ( X , k ) , the corresponding series consists of n e x e c = 15 independent runs of each algorithm. Thus, for each dataset, we have 7 series of runs for each of the compared algorithms, with each series containing 15 independent results. The number 6 in the #Succ ratio 6/7 indicates that the median objective function values for 6 out of 7 series of runs of this algorithm were lower than the mean objective function values in the corresponding series of all other algorithms.
The means in the final rows of these tables highlight overall performance across datasets. The best results for each metric and dataset pair were bolded, indicating top algorithm performance. The highest accuracy values for each dataset are displayed in bold among the algorithm results. Success is indicated when an algorithm’s median performance on a series of executions for a value of k outperforms or matches the best result among all algorithms for this series.

6.8. Scaling Experiment

Additionally, we conducted an experiment to demonstrate the scalability of our proposed HPClust strategies. We generated a synthetic dataset with 10 features comprising 10 Gaussian blobs uniformly distributed within the box ( 40 , 40 ) , each with a randomly sampled standard deviation between ( 0 , 10 ) . The number of points was varied according to the law m = 3 i + 7 , where i = 0 , , 8 . For each i, we performed 10 execution repetitions for each algorithm and recorded the results. We employed a sample size of s = min { 5000 , m 1000 } and a processing time limit of T = 3.0 seconds for the HPClust and PBK-BDC algorithms. For the HPClust-hybrid, we used a naive time split of T 1 = T 2 = T / 2 to avoid additional optimization. To introduce noise, we added 500 random points uniformly distributed within the box ( 50.0 , 50.0 ) to each synthetic dataset. This experiment allowed us to assess the scalability of our algorithms under varying dataset sizes.

7. Experimental Results and Discussion

7.1. Performance Evaluation

The results of the first set of preliminary experiments, illustrated in Figure 3a,b, determined the optimal number of CPUs for subsequent experiments, setting the stage for further investigation. As anticipated, the fully sequential strategy (HPClust-sequential) displayed no significant correlation with the number of parallel processors employed. The HPClust version with inner parallelism demonstrated a reduction in processing time with an increase in the number of CPUs, while the accuracy remained independent of the CPU count. In contrast, both the HPClust-competitive and HPClust-cooperative strategies exhibited an improvement in clustering accuracy as the number of CPUs increased. However, this accuracy gain came at the expense of increased processing time for these versions of HPClust. We attribute this observation to the need for coordination among multiple processors and the technical complexities introduced by Numba, such as parallel access to shared memory locations by multiple workers. Upon closer examination of the scores, we determined that utilizing 8 CPUs strikes the optimal balance between processing time and resulting accuracy across all algorithms on our machine. Thus, this choice of the CPU count was used in all the subsequent experiments.
Other preliminary experiments were straightforward. They allowed us to obtain the necessary optimal values of the parameters for the main set of experiments.
A summary of the results of the main experiments are provided in Table 3, Table 4, Table 5 and Table 6. Full details of the results of the main experiments are provided in the Supplementary Materials.
As Table 3 demonstrates, the HPClust-competitive, HPClust-cooperative, and HPClust-hybrid strategies markedly boost overall clustering quality, achieving results that are up to three times better than HPClust-inner.
The HPClust-competitive approach showed a slight edge in average clustering quality compared to HPClust-cooperative, likely due to comprehensive initializations that mitigate K-means’ sensitivity to initial conditions. The analysis highlights a trade-off between extensive local optimization with a single start point and multiple initializations. The experiments suggest that multiple initializations, persistently processed by the competitive method, lead to better outcomes than the cooperative method’s focus on a single initialization. This finding favors exploring diverse K-means++ initializations to select the optimal one in the end.
The HPClust-hybrid exhibited the highest average clustering accuracy among the tested methods. This outcome was anticipated to a certain extent, as the hybrid approach combines the strengths of both regimes. In the initial stage, the competitive strategy enables extensive and rapid exploration of various K-means++ initializations on samples. In the subsequent stage, the cooperative strategy facilitates a thorough exploitation of the best solution obtained from the first stage for the remaining time. However, the hybrid strategy necessitates an additional optimization concerning the parameter T 1 , which determines the split between the competitive and cooperative regimes. This parameter is highly dependent on the specific dataset and the number of clusters. In certain scenarios, particularly when dealing with numerous diverse datasets for clustering, this might pose a significant overhead that could be challenging to handle.
In examining the baseline convergence times among various parallel strategies, it was evident that the HPClust-inner method achieved quicker baseline convergence than the alternatives for the majority of datasets. This disparity was especially notable in larger datasets, as shown at the beginning of Table 4. For some datasets, to maintain high-quality clustering, substantial sample sizes were necessary, which were proportionate to the dataset sizes. The HPClust-inner strategy, by integrating parallelized K-means++ and K-means for each new sample, managed to expedite processing times relative to the sequential version in other parallel HPClust approaches. These findings highlight the crucial impact of algorithm selection and dataset characteristics on the delicate balance between computational efficiency and clustering accuracy. This underscores the importance of thoughtfully balancing sample size (which affects speed) with the quality of resulting clusters, as a careful trade-off is essential for achieving optimal outcomes.
Further analysis of the competitive, cooperative, and hybrid HPClust strategies revealed an intricate interplay between the benefits of parallel processing and the resulting time costs. These methods did improve the solution quality, but the coordination required among multiple processors and the additional complexity from using the Numba library prolonged the convergence process, compared to the HPClust-inner method. Typically, with 8 CPUs, these strategies took up to twice as long to converge as the HPClust-inner method. This observation highlights the need to carefully weigh the trade-offs between exploiting computational resources to accelerate clustering and incurring additional overheads that may impact performance.
Table 5 clearly demonstrates the superiority of the HPClust-hybrid algorithm over its competitors, exhibiting a significant lead in both the number of dominant series and average overall accuracy across all datasets. The HPClust-hybrid algorithm achieves an average accuracy that is a remarkable several orders of magnitude higher than its competitors.
As shown in Table 6, Forgy K-means, with its linear time complexity with respect to m, predictably exhibits a significant increase in time costs for the largest datasets, exceeding the fastest HPClust version by more than 20 times. While PBK-BDC is the quickest for small datasets, its average time costs for the largest datasets are triple those of HPClust, highlighting HPClust’s efficiency advantage for large datasets.
The scaling experiment results are presented in Figure 4a,b. For each x-axis value, the median score across 10 repetitions is displayed. The figures clearly show that all HPClust versions are highly robust and scalable with respect to the number of points, achieving optimal clustering accuracy (within 0.2 % of ground truth) while keeping clustering time under 3 seconds, regardless of dataset size. In contrast, competitive algorithms Forgy K-means and PBK-BDC exhibited substantially suboptimal clustering quality, with Forgy K-means incurring unacceptable linearly rising time costs with increasing points (e.g., over 2 h for a single execution on a 43 million point dataset). Meanwhile, PBK-BDC failed to provide steadily optimal clustering solutions at any data scale, despite slightly increased time costs for larger datasets. The HPClust versions demonstrated superior performance and scalability. The detailed experimental results, showcasing median values across various data scales and algorithms, are presented in Table 7 and Table 8 for a comprehensive understanding.
Surprisingly, the scaling experiment’s results reveal an additional extraordinary property of HPClust: its iterative sampling processing with small samples renders it robust to noise and outliers, demonstrating a remarkable resilience to data perturbations and anomalies.

7.2. Trade-Offs Analysis

Our experiments with the HPClust algorithm have revealed several key trade-offs. Here, we present an in-depth analysis of these trade-offs, which often involve intricate balancing acts between efficiency, accuracy, computation time, and dataset characteristics. The following are the primary trade-offs that practitioners might have to consider:
  • Accuracy vs. Computation Time: Our results showed that the choice of strategy significantly influences the balance between computation time and the resulting accuracy. For example, while HPClust-inner demonstrated faster convergence times, especially for large datasets, the HPClust-competitive, HPClust-cooperative, and HPClust-hybrid strategies offered improved clustering quality at the cost of slightly increased computation time. Thus, your choice should weigh the importance of quick results against the necessity of clustering precision;
  • Parallelism vs. Overhead: The level of parallelism used directly impacts the computation time and the overhead associated with managing multiple processors. While increasing the number of processors generally results in faster computation, it also introduces added overhead in coordinating these processors. This was particularly evident when using HPClust-competitive, HPClust-cooperative, and HPClust-hybrid strategies, which took nearly twice as long to converge as HPClust-inner, despite yielding superior solutions;
  • Sample Size vs. Quality of Clusters: The size of the sample used in the HPClust algorithm directly impacts the quality of clusters and the computation time. Larger samples often led to better approximations of the overall data distribution and improved final clustering quality. However, these benefits were offset by slower algorithmic performance, which is a crucial aspect to consider when dealing with large datasets;
  • Strategy Selection vs. Initialization Quality: In the context of HPClust, another critical trade-off lies in the choice of strategy and its influence on the quality of initializations. HPClust-competitive, which applies multiple initializations and continues clustering different K-means++ initializations to select the best one at the end, showed a slightly improved clustering quality over HPClust-cooperative. Meanwhile, the HPClust-hybrid strategy effectively amalgamated the comprehensive exploration capabilities of the competitive approach with the exploitation abilities of the cooperative approach. However, it should be noted that this comes with the requirement of additional optimization for the split parameter T 1 . Therefore, the sensitivity of K-means to the quality of initial initialization is another critical factor to consider when choosing the strategy.
In navigating these trade-offs, understanding the unique requirements of your task and the nature of your dataset is paramount. Each strategy presents its own advantages and disadvantages, which should be carefully considered in light of these trade-offs. With the correct approach, these trade-offs can be effectively managed to achieve optimal clustering results with the HPClust algorithm.

8. Guidelines for Choosing Parallel Strategy

Considering the outcomes of our research, we propose the following revised guidelines for selecting an appropriate parallel strategy for the HPClust algorithm:
  • If you are handling large datasets and have concerns over computation time, opt for the HPClust-inner strategy. This variant consistently showed faster convergence to baselines across most datasets, especially larger ones, as evidenced in the first rows of Table 4. The employment of significant sample sizes, relative to the dataset sizes, along with parallelized K-means++ and K-means on each new sample, contributed to its accelerated processing times. However, remember that larger sample sizes often led to slower algorithmic performance, so balancing sample size with the quality of clusters remains crucial;
  • When computation time is less of a constraint and you aim for better clustering quality, choose between HPClust-competitive and HPClust-cooperative strategies. Both these strategies demonstrated an improved quality of final solutions compared to other versions of HPClust, on average three times better with 8 CPUs. However, due to the additional overhead of coordinating multiple processors and the complexities associated with the Numba library, they also exhibited longer convergence times, nearly twice as long as HPClust-inner with 8 CPUs;
  • If the clustering quality is your primary focus, HPClust-hybrid or HPClust-competitive should be the preferred choices. Our findings indicated a slightly improved clustering quality with HPClust-competitive compared to HPClust-cooperative. This improvement stems from the application of multiple initializations at the beginning, as K-means is highly sensitive to initial initialization quality. This strategy continues to cluster different K-means++ initializations, eventually selecting the best one at the end, leading to a superior solution. In the meantime, if you aim for superior clustering quality and willing to spend extra time on parameter optimization, opt for the HPClust-hybrid strategy. This choice demonstrated the best resulting clustering quality, while retaining the same degree of time efficiency as the competitive and cooperative approaches.
These guidelines should assist researchers and practitioners in choosing an appropriate parallel strategy for their specific needs. However, keep in mind that these are general guidelines, and the choice of parallel strategy should be adapted to the specific requirements of your task and the nature of your dataset. This research strongly suggests that parallelism, when feasible, offers a significant enhancement in clustering accuracy and convergence time compared to the sequential variant.
Overall, the best strategy is likely to be one that strikes a balance between the need for accuracy, computation time, and the specific characteristics of the dataset at hand. The effectiveness of each strategy will inevitably depend on these factors, and the choice should be made accordingly.

9. Conclusions and Future Works

Our paper introduces the HPClust algorithm and explores its four parallel strategies on diverse datasets, including real-world and synthetic ones. Our comprehensive evaluation focuses on three essential metrics: relative clustering accuracy ( ε ), total runtime (t), and baseline-normalized runtime ( t ¯ ). These metrics provide a thorough assessment of each strategy’s effectiveness and efficiency, enabling a well-rounded comparison.
The experimental results demonstrate HPClust’s unrivaled effectiveness, efficiency, and scalability compared to baseline algorithms across a vast range of real-world datasets (spanning small to big sizes) and synthetic datasets. HPClust consistently outperforms its competitors, showcasing remarkable robustness to data scale and noise, as well as adaptability in various data settings.
Furthermore, this research demonstrates that no single parallel strategy universally optimizes the HPClust algorithm. Instead, the most effective approach depends on the dataset’s characteristics, emphasizing the need for adaptive techniques that dynamically select the best strategy. However, in most cases, we recommend practitioners to employ either the competitive or hybrid (competitive–cooperative) parallel strategies of HPClust, which have shown superior performance and versatility.
Additionally, our work offers a comprehensive review of the primary high-performance techniques utilized for optimizing data clustering algorithms. We delve into the intricate aspects and nuances of applying parallel techniques, specifically analyzing the challenges and pitfalls associated with the HPClust algorithm. Through a detailed trade-off analysis, we provide practical guidelines to assist in selecting the most suitable parallel strategy for specific use cases. These guidelines aim to facilitate informed decision-making and provide actionable recommendations.
The future research will focus on developing adaptive methods that can intelligently choose the most suitable parallel strategy based on the specific dataset, optimizing performance and accuracy. Additionally, we will conduct a more in-depth analysis of the trade-offs revealed in this study, exploring their nuanced effects on algorithmic performance and accuracy, to uncover actionable insights for further improvement.
Another promising future research direction for the proposed HPClust algorithm is its potential adaptation for clustering streaming datasets or continuously growing datasets. This is particularly relevant in scenarios involving IoT sensors, financial transactions, social media feeds, and other real-time data sources, where data is constantly generated and requires efficient clustering techniques to uncover insights and patterns. By extending HPClust to handle streaming data, researchers can unlock new opportunities for real-time analytics and decision-making in various fields.
This study’s findings and observations lay the groundwork for advancing efficient and adaptive parallel techniques for HPClust and beyond. Our goal is for this research to make a meaningful impact in the fields of data clustering and high-performance computing, driving innovation and improvement in these areas. By shedding light on the complex relationships between parallel strategies, dataset characteristics, and algorithmic performance, we aim to spark further discovery and progress.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/math12131930/s1.

Author Contributions

Conceptualization, R.M. (Rustam Mussabayev); Methodology, R.M. (Rustam Mussabayev); Software, R.M. (Ravil Mussabayev); Validation, R.M. (Ravil Mussabayev); Formal analysis, R.M. (Ravil Mussabayev); Investigation, R.M. (Ravil Mussabayev); Resources, R.M. (Rustam Mussabayev); Data curation, R.M. (Rustam Mussabayev); Writing—original draft, R.M. (Ravil Mussabayev); Writing—review & editing, R.M. (Rustam Mussabayev); Visualization, R.M. (Ravil Mussabayev); Supervision, R.M. (Rustam Mussabayev); Project administration, R.M. (Rustam Mussabayev); Funding acquisition, R.M. (Rustam Mussabayev). All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Science Committee of the Ministry of Science and Higher Education of the Republic of Kazakhstan (grant no. BR21882268).

Data Availability Statement

The data presented in this study are publicly available. The corresponding URLs to the used datasets are provided in the article [UC Irvine Machine Learning Repository] [https://archive.ics.uci.edu/] [accessed on May 28 2024].

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Jiang, D.; Tang, C.; Zhang, A. Cluster analysis for gene expression data: A survey. IEEE Trans. Knowl. Data Eng. 2004, 16, 1370–1386. [Google Scholar] [CrossRef]
  2. Mittal, H.; Pandey, A.C.; Pal, R.; Tripathi, A. A new clustering method for the diagnosis of CoVID19 using medical images. Appl. Intell. 2021, 51, 2988–3011. [Google Scholar] [CrossRef] [PubMed]
  3. de Ridder, D.; de Ridder, J.; Reinders, M.J.T. Pattern recognition in bioinformatics. Briefings Bioinform. 2013, 14, 633–647. [Google Scholar] [CrossRef]
  4. Yin, Y.; Liu, F.; Zhou, X.; Li, Q. An Efficient Data Compression Model Based on Spatial Clustering and Principal Component Analysis in Wireless Sensor Networks. Sensors 2015, 15, 19443–19465. [Google Scholar] [CrossRef]
  5. Tu, B.; Yang, X.; Li, N.; Zhou, C.; He, D. Hyperspectral anomaly detection via density peak clustering. Pattern Recognit. Lett. 2020, 129, 144–149. [Google Scholar] [CrossRef]
  6. Rakthanmanon, T.; Keogh, E.J.; Lonardi, S.; Evans, S. MDL-based time series clustering. Knowl. Inf. Syst. 2012, 33, 371–399. [Google Scholar] [CrossRef]
  7. Lejun, Z.; Minghui, P.; Shen, S.; Weizheng, W.; Zilong, J.; Yansen, S.; Huiling, C.; Ran, G.; Gataullin, S. Redundant data detection and deletion to meet privacy protection requirements in blockchain-based edge computing environment. China Commun. 2024, 21, 149–159. [Google Scholar] [CrossRef]
  8. Zhang, L.; Zhang, B.; Guo, R.; Wang, Z.; Wang, G.; Qiu, J.; Su, S.; Liu, Y.; Xu, G.; Tian, Z.; et al. Research on Covert Communication Technology Based on Matrix Decomposition of Digital Currency Transaction Amount. KSII Trans. Internet Inf. Syst. 2024, 18, 1020–1041. [Google Scholar] [CrossRef]
  9. Chen, X.; Fang, Y.; Yang, M.; Nie, F.; Zhao, Z.; Huang, J.Z. PurTreeClust: A Clustering Algorithm for Customer Segmentation from Massive Customer Transaction Data. IEEE Trans. Knowl. Data Eng. 2018, 30, 559–572. [Google Scholar] [CrossRef]
  10. Yeung, M.; Yeo, B.; Liu, B. Segmentation of video by clustering and graph analysis. Comput. Vis. Image Underst. 1998, 71, 94–109. [Google Scholar] [CrossRef]
  11. Zhao, P.; Zhang, C.Q. A new clustering method and its application in social networks. Pattern Recognit. Lett. 2011, 32, 2109–2118. [Google Scholar] [CrossRef]
  12. Djenouri, Y.; Belhadi, A.; Djenouri, D.; Lin, J.C.W. Cluster-based information retrieval using pattern mining. Appl. Intell. 2021, 51, 1888–1903. [Google Scholar] [CrossRef]
  13. Alguliyev, R.M.; Aliguliyev, R.M.; Isazade, N.R.; Abdi, A.; Idris, N. COSUM: Text summarization based on clustering and optimization. Expert Syst. 2019, 36, 340. [Google Scholar] [CrossRef]
  14. Depaire, B.; Wets, G.; Vanhoof, K. Traffic accident segmentation by means of latent class clustering. Accid. Anal. Prev. 2008, 40, 1257–1266. [Google Scholar] [CrossRef] [PubMed]
  15. Aloise, D.; Deshpande, A.; Hansen, P.; Popat, P. NP-hardness of Euclidean sum-of-squares clustering. Mach. Learn. 2009. [Google Scholar] [CrossRef]
  16. Gribel, D.; Vidal, T. HG-means: A scalable hybrid genetic algorithm for minimum sum-of-squares clustering. Pattern Recognit. 2019. [Google Scholar] [CrossRef]
  17. Karmitsa, N.; Bagirov, A.M.; Taheri, S. Clustering in large data sets with the limited memory bundle method. Pattern Recognit. 2018. [Google Scholar] [CrossRef]
  18. Franti, P.; Sieranoja, S. How much can k-means be improved by using better initialization and repeats? Pattern Recognit. 2019, 93, 95–112. [Google Scholar] [CrossRef]
  19. Hansen, P.; Mladenovic, N. J-Means: A new local search heuristic for minimum sum of squares clustering. Pattern Recognit. 2001, 34, 405–413. [Google Scholar] [CrossRef]
  20. Mansueto, P.; Schoen, F. Memetic differential evolution methods for clustering problems. Pattern Recognit. 2021, 114, 107849. [Google Scholar] [CrossRef]
  21. Mohebi, A.; Aghabozorgi, S.; Wah, T.Y.; Herawan, T.; Yahyapour, R. Iterative big data clustering algorithms: A review. Softw. Pract. Exp. 2016, 46, 107–129. [Google Scholar] [CrossRef]
  22. Lloyd, S. Least squares quantization in PCM. IEEE Trans. Inf. Theory 1982, 28, 129–137. [Google Scholar] [CrossRef]
  23. Pena, J. An empirical comparison of four initialization methods for the K-means algorithm. Pattern Recognit. Lett. 1999, 20, 1027–1040. [Google Scholar] [CrossRef]
  24. Dean, J.; Ghemawat, S. MapReduce: Simplified data processing on large clusters. Proc. Commun. ACM 2008, 51, 107–113. [Google Scholar] [CrossRef]
  25. Zhao, W.; Ma, H.; He, Q. Parallel k-means clustering based on MapReduce. In Proceedings of the Cloud Computing; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5931, pp. 674–679. [Google Scholar]
  26. Sculley, D. Web-scale k-means clustering. In Proceedings of the 19th International Conference on World Wide Web, Raleigh, NC, USA, 26–30 April 2010; pp. 1177–1178. [Google Scholar]
  27. Bahmani, B.; Moseley, B.; Vattani, A.; Kumar, R.; Vassilvitskii, S. Scalable k-means++. Proc. VLDB Endow. 2012, 5, 622–633. [Google Scholar] [CrossRef]
  28. Alguliyev, R.M.; Aliguliyev, R.M.; Sukhostat, L.V. Parallel batch k-means for Big data clustering. Comput. Ind. Eng. 2021, 152, 107023. [Google Scholar] [CrossRef]
  29. Crawford, I.L.; Wadleigh, K.R. Software Optimization for High Performance Computers; Prentice Hall PTR: Hoboken, NJ, USA, 2000. [Google Scholar]
  30. Dafir, Z.; Lamari, Y.; Slaoui, S.C. A survey on parallel clustering algorithms for Big Data. Artif. Intell. Rev. 2021, 54, 2411–2443. [Google Scholar] [CrossRef]
  31. He, Q.; Wang, H.; Zhuang, F.; Shang, T.; Shi, Z. Parallel sampling from big data with uncertainty distribution: Special issue: Uncertainty in Learning from Big Data. Fuzzy Sets Syst. 2015, 258, 117–133. [Google Scholar] [CrossRef]
  32. Sabne, A.; Sakdhnagool, P.; Eigenmann, R. Scaling large-data computations on multi-GPU accelerators. In Proceedings of the 27th International ACM Conference on International Conference on Supercomputing, New York, NY, USA, 21–23 June 2013; ICS ’13. pp. 443–454. [Google Scholar] [CrossRef]
  33. Gupta, M.; Schonberg, E.; Srinivasan, H. A unified framework for optimizing communication in data-parallel programs. IEEE Trans. Parallel Distrib. Syst. 1996, 7, 689–704. [Google Scholar] [CrossRef]
  34. Psarras, C.; Barthels, H.; Bientinesi, P. The Linear Algebra Mapping Problem. Current State of Linear Algebra Languages and Libraries. ACM Trans. Math. Softw. 2022, 48, 35. [Google Scholar] [CrossRef]
  35. Chhugani, J.; Nguyen, A.D.; Lee, V.W.; Macy, W.; Hagog, M.; Chen, Y.K.; Baransi, A.; Kumar, S.; Dubey, P. Efficient Implementation of Sorting on Multi-Core SIMD CPU Architecture. Proc. VLDB Endow. 2008, 1, 1313–1324. [Google Scholar] [CrossRef]
  36. Saraswat, V.A.; Sarkar, V.; von Praun, C. X10: Concurrent programming for modern architectures. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, New York, NY, USA, 29–31 March 2007; PPoPP ’07. p. 271. [Google Scholar] [CrossRef]
  37. Jafarnejad Ghomi, E.; Masoud Rahmani, A.; Nasih Qader, N. Load-balancing algorithms in cloud computing: A survey. J. Netw. Comput. Appl. 2017, 88, 50–71. [Google Scholar] [CrossRef]
  38. Barash, L.; Shchur, L. PRAND: GPU accelerated parallel random number generation library: Using most reliable algorithms and applying parallelism of modern GPUs and CPUs. Comput. Phys. Commun. 2014, 185, 1343–1353. [Google Scholar] [CrossRef]
  39. May, J.M. Parallel I/O for High Performance Computing; Morgan Kaufmann Publishers Inc.: San Francisco, CA, USA, 2001. [Google Scholar]
  40. Lam, S.K.; Pitrou, A.; Seibert, S. Numba: A LLVM-based Python JIT compiler. In Proceedings of the LLVM ’15: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, Austin, TX, USA, 15 November 2015; pp. 1–6. [Google Scholar] [CrossRef]
  41. Marowka, A. Python accelerators for high-performance computing. J. Supercomput. 2018, 74, 1449–1460. [Google Scholar] [CrossRef]
Figure 1. Flowchart of the HPClust algorithm with the competitive parallelism.
Figure 1. Flowchart of the HPClust algorithm with the competitive parallelism.
Mathematics 12 01930 g001
Figure 2. Flowchart of the HPClust algorithm using a cooperative parallel strategy.
Figure 2. Flowchart of the HPClust algorithm using a cooperative parallel strategy.
Mathematics 12 01930 g002
Figure 3. Comparative results of the algorithms with respect to the number of employed CPUs averaged across all datasets.
Figure 3. Comparative results of the algorithms with respect to the number of employed CPUs averaged across all datasets.
Mathematics 12 01930 g003
Figure 4. Comparative results of the algorithms with respect to the number of points m in a synthetic dataset.
Figure 4. Comparative results of the algorithms with respect to the number of points m in a synthetic dataset.
Mathematics 12 01930 g004
Table 1. Brief description of the datasets.
Table 1. Brief description of the datasets.
DatasetsNo. Instances No. AttributesSizeFile Size
m n m × n
CORD-19 Embeddings599,616768460,505,0888.84 GB
HEPMASS10,500,00028294,000,0007.5 GB
US Census Data 19902,458,28568167,163,380361 MB
Gisette13,500500067,500,000152.5 MB
Music Analysis106,57451855,205,332951 MB
Protein Homology145,7517410,785,57469.6 MB
MiniBooNE Particle Identification130,064506,503,20091.2 MB
MFCCs for Speech Emotion Recognition85,134584,937,77295.2 MB
ISOLET77976174,810,74940.5 MB
Sensorless Drive Diagnosis58,509482,808,43225.6 MB
Online News Popularity39,644582,299,35224.3 MB
Gas Sensor Array Drift13,9101281,780,48023.54 MB
3D Road Network434,87431,304,62220.7 MB
KEGG Metabolic Relation Network (Directed)53,413201,068,2607.34 MB
Skin Segmentation245,0573735,1713.4 MB
Shuttle Control58,0009522,0001.55 MB
EEG Eye State14,98014209,7201.7 MB
Pla8590085,9002171,8001.79 MB
D1511215,112230,224247 kB
Table 2. URLs for the used datasets (all accessed on 28 May 2024).
Table 2. URLs for the used datasets (all accessed on 28 May 2024).
DatasetsURLs
CORD-19 Embeddingshttps://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge
HEPMASShttps://archive.ics.uci.edu/ml/datasets/HEPMASS
US Census Data 1990https://archive.ics.uci.edu/ml/datasets/US+Census+Data+(1990)
Gisettehttps://archive.ics.uci.edu/ml/datasets/Gisette
Music Analysishttps://archive.ics.uci.edu/ml/datasets/FMA%3A+A+Dataset+For+Music+Analysis
Protein Homologyhttps://www.kdd.org/kdd-cup/view/kdd-cup-2004/Data
MiniBooNE Particle Identificationhttps://archive.ics.uci.edu/ml/datasets/MiniBooNE+particle+identification
MFCCs for Speech Emotion Recognitionhttps://www.kaggle.com/cracc97/features
ISOLEThttps://archive.ics.uci.edu/ml/datasets/isolet
Sensorless Drive Diagnosishttps://archive.ics.uci.edu/ml/datasets/dataset+for+sensorless+drive+diagnosis
Online News Popularityhttps://archive.ics.uci.edu/ml/datasets/online+news+popularity
Gas Sensor Array Drifthttps://archive.ics.uci.edu/ml/datasets/gas+sensor+array+drift+dataset
3D Road Networkhttps://archive.ics.uci.edu/ml/datasets/3D+Road+Network+(North+Jutland,+Denmark)
KEGG Metabolic Relation Network (Directed)https://archive.ics.uci.edu/ml/datasets/KEGG+Metabolic+Relation+Network+(Directed)
Skin Segmentationhttps://archive.ics.uci.edu/ml/datasets/skin+segmentation
Shuttle Controlhttps://archive.ics.uci.edu/ml/datasets/Statlog+(Shuttle)
Pla85900http://softlib.rice.edu/pub/tsplib/tsp/pla85900.tsp.gz
D15112https://github.com/mastqe/tsplib/blob/master/d15112.tsp
Table 3. Resulting relative clustering accuracies ϵ (%) for the proposed parallel HPClust strategies.
Table 3. Resulting relative clustering accuracies ϵ (%) for the proposed parallel HPClust strategies.
DatasetHPClust-InnerHPClust-Competitive
#Succ Min Median Max #Succ Min Median Max
CORD-19 Embeddings0/70.070.210.343/70.00.070.18
HEPMASS0/70.080.220.663/70.030.070.19
US Census Data 19902/70.923.1335.873/70.481.482.89
Gisette0/7−0.43−0.37−0.192/7−0.44−0.38−0.32
Music Analysis3/70.410.916.244/70.430.741.67
Protein Homology3/70.150.912.321/70.410.882.03
MiniBooNE Particle Identification2/7−0.030.51402,305.651/7−0.07−0.0719,099.04
MiniBooNE Particle Identification (normalized)1/70.20.54101.632/70.20.551.1
MFCCs for Speech Emotion Recognition2/70.140.641.951/70.110.340.76
ISOLET0/70.150.681.721/70.040.230.63
Sensorless Drive Diagnosis1/7−0.321.2531.062/7−0.43−0.2712.2
Sensorless Drive Diagnosis (normalized)1/70.43.039.694/70.311.063.26
Online News Popularity2/70.72.3614.392/70.691.653.74
Gas Sensor Array Drift2/70.153.2412.292/7−0.051.783.77
3D Road Network2/70.040.41.242/70.030.221.06
Skin Segmentation1/70.042.919.722/7−0.051.054.36
KEGG Metabolic Relation Network (Directed)3/7−0.081.5534.132/7−0.420.242.5
Shuttle Control1/80.175.6841.762/8−0.012.3212.58
Shuttle Control (normalized)1/80.892.8117.980/80.691.794.07
EEG Eye State3/80.540.797.152/80.530.56119,444.14
EEG Eye State (normalized)0/8−0.062.431.496/8−0.060.0167.39
Pla859000/70.070.371.73/70.070.20.73
D151122/70.10.481.763/70.080.140.4
Overall Results32/1650.191.5117,507.4253/1650.110.6436,463.84
DatasetHPClust-cooperativeHPClust-hybrid
#SuccMinMedianMax#SuccMinMedianMax
CORD-19 Embeddings3/70.040.080.161/70.020.080.24
HEPMASS0/70.040.160.574/7−0.010.080.24
US Census Data 19901/70.451.644.371/70.321.723.17
Gisette2/7−0.46−0.39−0.323/7−0.44−0.4−0.34
Music Analysis0/70.40.832.680/70.330.852.24
Protein Homology2/70.210.911.811/70.51.052.1
MiniBooNE Particle Identification2/7−0.080.00.372/7−0.07−0.00.15
MiniBooNE Particle Identification (normalized)1/70.190.561.433/70.230.511.29
MFCCs for Speech Emotion Recognition2/70.10.340.942/70.120.330.83
ISOLET2/70.030.250.684/70.010.230.59
Sensorless Drive Diagnosis2/7−0.41−0.2111.822/7−0.42−0.218.18
Sensorless Drive Diagnosis (normalized)1/70.281.394.01/70.381.343.81
Online News Popularity2/70.561.67.791/70.471.697.86
Gas Sensor Array Drift1/7−0.040.914.052/70.060.793.99
3D Road Network2/70.040.221.041/70.040.210.88
Skin Segmentation2/7−0.221.115.762/7−0.021.024.25
KEGG Metabolic Relation Network (Directed)1/7−0.30.356.261/7−0.290.2523.7
Shuttle Control4/8−0.141.554.761/80.081.869.13
Shuttle Control (normalized)2/80.812.224.975/80.711.614.49
EEG Eye State1/80.530.570.762/80.520.556.05
EEG Eye State (normalized)0/8−0.060.0156.92/8−0.060.0216.2
Pla859002/70.070.221.222/70.070.20.58
D151121/70.080.290.81/70.070.150.44
Overall Results36/1650.090.635.3444/1650.110.614.35
Table 4. Baseline convergence times t ¯ (in seconds) of the HPClust parallel strategies.
Table 4. Baseline convergence times t ¯ (in seconds) of the HPClust parallel strategies.
DatasetHPClust-InnerHPClust-Competitive
#Succ Min Median Max #Succ Min Median Max
CORD-19 Embeddings2/76.9216.124.821/712.7817.4524.12
HEPMASS0/75.778.6515.592/72.355.2414.12
US Census Data 19900/70.240.632.071/70.190.531.63
Gisette4/73.274.46.380/717.0619.3823.72
Music Analysis0/70.583.227.190/71.444.027.89
Protein Homology2/70.791.713.181/71.632.454.03
MiniBooNE Particle Identification4/70.461.052.381/72.243.074.39
MiniBooNE Particle Identification (normalized)3/70.090.40.851/70.280.490.91
MFCCs for Speech Emotion Recognition1/70.120.390.831/70.290.570.96
ISOLET0/70.381.012.930/70.851.883.84
Sensorless Drive Diagnosis3/70.140.290.90/70.721.022.07
Sensorless Drive Diagnosis (normalized)0/70.020.090.280/70.040.090.26
Online News Popularity2/70.090.270.590/70.150.290.62
Gas Sensor Array Drift0/70.110.471.680/70.290.691.64
3D Road Network2/70.080.230.490/70.150.350.88
Skin Segmentation0/70.030.070.181/70.020.050.12
KEGG Metabolic Relation Network (Directed)0/70.10.30.821/70.260.460.97
Shuttle Control0/80.10.320.870/80.090.290.74
Shuttle Control (normalized)0/80.040.150.323/80.020.070.2
EEG Eye State0/80.130.431.110/80.060.310.78
EEG Eye State (normalized)0/80.040.110.740/80.060.120.34
Pla859000/70.070.641.421/70.050.351.14
D151120/70.060.421.113/70.060.210.77
Overall Results23/1650.851.83.3417/1651.792.584.18
DatasetHPClust-cooperativeHPClust-hybrid
#SuccMinMedianMax#SuccMinMedianMax
CORD-19 Embeddings0/712.0618.226.112/711.4916.0323.92
HEPMASS4/72.924.8612.030/72.66.6916.98
US Census Data 19901/70.140.461.473/70.140.451.41
Gisette0/716.9518.9923.070/716.9919.3323.71
Music Analysis2/71.583.336.990/71.353.888.19
Protein Homology2/71.732.524.230/71.832.914.43
MiniBooNE Particle Identification0/72.192.834.41/72.053.054.33
MiniBooNE Particle Identification (normalized)1/70.290.510.880/70.250.531.0
MFCCs for Speech Emotion Recognition1/70.220.490.991/70.260.551.06
ISOLET3/70.871.422.880/70.761.964.07
Sensorless Drive Diagnosis0/70.621.052.01/70.721.051.95
Sensorless Drive Diagnosis (normalized)3/70.040.090.252/70.040.090.27
Online News Popularity2/70.140.280.561/70.140.290.71
Gas Sensor Array Drift1/70.270.631.621/70.270.731.74
3D Road Network0/70.180.330.871/70.160.371.18
Skin Segmentation6/70.020.040.180/70.020.040.16
KEGG Metabolic Relation Network (Directed)2/70.240.420.981/70.250.440.97
Shuttle Control2/80.090.210.592/80.080.210.67
Shuttle Control (normalized)5/80.020.050.210/80.020.070.26
EEG Eye State2/80.070.230.893/80.080.220.77
EEG Eye State (normalized)2/80.060.110.330/80.060.150.46
Pla859006/70.060.241.160/70.060.351.11
D151123/70.050.240.831/70.040.240.89
Overall Results48/1651.772.54.0720/1651.722.594.36
Table 5. Relative clustering accuracies ϵ (in %) resulting from the comparison of the hybrid HPClust strategy with the competitive algorithms.
Table 5. Relative clustering accuracies ϵ (in %) resulting from the comparison of the hybrid HPClust strategy with the competitive algorithms.
DatasetHPClust-HybridForgy K-MeansPBK-BDC
#Succ Min Med Max #Succ Min Med Max #Succ Min Med Max
CORD-19 Embeddings3/70.020.080.244/70.010.171.370/70.671.743.28
HEPMASS5/7−0.010.080.242/70.020.180.630/70.631.453.21
US Census Data 19906/70.321.723.171/72.5880.73259.790/714.8665.27279.29
Gisette0/7−0.44−0.4−0.347/7−0.52−0.48−0.390/7−0.47−0.42−0.32
Music Analysis1/70.330.852.246/7−0.010.476.970/71.274.8542.27
Protein Homology4/70.51.052.13/714.8414.9115.090/74.9820.6348.21
MiniBooNE Particle Identification4/7−0.07−0.00.153/72.6219.52110,992.520/72.6141,006.39110,992.75
MiniBooNE Particle Identification (normalized)2/70.230.511.295/7−0.021.39240.250/72.347.7536.83
MFCCs for Speech Emotion Recognition4/70.120.330.833/70.221.492.920/71.9710.140.56
ISOLET6/70.010.230.591/70.050.82.780/70.221.032.59
Sensorless Drive Diagnosis7/7−0.42−0.218.180/7122.75162.37183.780/7149.77162.36215.62
Sensorless Drive Diagnosis (normalized)6/70.381.343.811/71.36.2126.960/74.4911.2448.1
Online News Popularity5/70.471.697.862/77.7614.9333.830/715.3137.7693.96
Gas Sensor Array Drift5/70.060.793.992/710.0124.3139.620/79.5225.5239.35
3D Road Network1/70.040.210.886/70.00.230.230/72.6740.65159.28
Skin Segmentation5/7−0.021.024.252/72.179.0221.320/77.4620.5571.1
KEGG Metabolic Relation Network (Directed)6/7−0.290.2523.71/794.2795.67108.630/794.2694.92107.54
Shuttle Control8/80.081.869.130/8131.85176.25243.90/8139.77174.3231.7
Shuttle Control (normalized)6/80.711.614.492/82.6316.5974.130/88.5431.94105.37
EEG Eye State7/80.520.556.051/827.46876,227.791,020,813.690/83.81803,953.671,020,824.57
EEG Eye State (normalized)8/8−0.060.0216.20/8100.2542.0763.410/8131.31572.73758.52
Pla859005/70.070.20.582/7−0.020.391.990/72.5510.539.62
D151124/70.070.150.443/70.111.155.820/70.311.416.39
Overall Results108/1650.110.614.3557/16522.6238,147.6649,297.360/16526.0436,793.7549,310.86
Table 6. Total clustering times t (in seconds) resulting from the comparison of the hybrid HPClust strategy with the competitive algorithms.
Table 6. Total clustering times t (in seconds) resulting from the comparison of the hybrid HPClust strategy with the competitive algorithms.
DatasetHPClust-HybridForgy K-MeansPBK-BDC
#Succ Min Med Max #Succ Min Med Max #Succ Min Med Max
CORD-19 Embeddings4/714.7127.1536.390/7419.46704.621696.513/760.3176.19105.52
HEPMASS4/76.1619.9928.40/7343.81508.85865.843/733.0935.5639.44
US Census Data 19905/70.342.082.960/729.5561.8120.462/74.184.725.46
Gisette6/718.0121.1226.191/728.752.9397.550/721.5333.1863.21
Music Analysis4/71.515.618.530/749.8886.6145.673/75.347.3210.42
Protein Homology4/71.823.375.210/713.7719.3131.433/75.567.911.86
MiniBooNE Particle Identification4/72.374.336.372/77.6412.3617.041/77.8311.9218.68
MiniBooNE Particle Identification (normalized)4/70.340.791.420/74.077.1415.283/70.931.211.77
MFCCs for Speech Emotion Recognition3/70.280.721.260/72.994.918.074/70.670.941.3
ISOLET0/71.033.554.970/71.111.763.527/70.40.761.52
Sensorless Drive Diagnosis3/70.781.572.713/71.352.154.061/71.232.084.09
Sensorless Drive Diagnosis (normalized)2/70.050.220.330/70.40.761.95/70.10.150.21
Online News Popularity3/70.180.530.870/70.731.993.824/70.410.771.1
Gas Sensor Array Drift0/70.351.482.220/70.430.982.137/70.260.581.2
3D Road Network4/70.150.491.280/77.389.210.563/71.732.313.49
Skin Segmentation1/70.040.150.210/70.170.30.646/70.060.080.1
KEGG Metabolic Relation Network (Directed)3/70.340.851.280/71.141.612.234/71.21.642.09
Shuttle Control0/80.250.871.453/80.10.190.415/80.110.180.34
Shuttle Control (normalized)0/80.040.260.390/80.040.090.198/80.020.020.03
EEG Eye State0/80.210.981.434/80.070.130.224/80.080.140.23
EEG Eye State (normalized)0/80.110.660.992/80.060.140.336/80.060.110.23
Pla859000/70.110.931.470/70.130.260.587/70.050.070.14
D151120/70.20.91.430/70.020.030.067/70.010.010.02
Overall Results54/1652.154.295.9915/16539.764.27131.6796/1656.318.1711.85
Table 7. Resulting relative clustering accuracies ε for the scaling experiment in the format ( m e d i a n v a l u e ± s t a n d a r d d e v i a t i o n ) .
Table 7. Resulting relative clustering accuracies ε for the scaling experiment in the format ( m e d i a n v a l u e ± s t a n d a r d d e v i a t i o n ) .
mHPClust-InnerHPClust-CompetitiveHPClust-CollectiveHPClust-HybridForgy K-MeansPBK-BDC
3 7 3.67 (±3.90)−1.83 (±1.54)1.31 (±2.13)−1.84 (±1.30)27.38 (±16.96)26.61 (±9.62)
3 8 17.40 (±13.71)−0.92 (±0.01)−0.92 (±0.01)−0.91 (±0.01)38.53 (±18.78)52.35 (±22.51)
3 9 −0.04 (±18.43)−0.06 (±0.03)−0.06 (±0.02)−0.05 (±0.03)81.21 (±62.81)123.71 (±56.46)
3 10 0.14 (±19.13)0.14 (±0.04)0.14 (±0.03)0.17 (±0.04)83.56 (±52.48)82.05 (±51.69)
3 11 0.19 (±0.05)0.18 (±0.05)0.19 (±0.06)0.19 (±0.04)141.95 (±118.03)256.22 (±91.90)
3 12 10.12 (±10.06)0.21 (±0.05)0.20 (±0.03)0.20 (±0.04)54.23 (±36.96)124.13 (±32.12)
3 13 0.23 (±24.33)0.21 (±0.03)0.22 (±14.60)0.20 (±0.04)67.99 (±69.14)134.67 (±40.73)
3 14 0.18 (±20.97)0.21 (±0.03)0.20 (±31.04)0.22 (±0.04)165.58 (±94.48)188.93 (±92.47)
3 15 0.19 (±8.83)0.20 (±0.02)0.20 (±11.76)0.22 (±0.02)46.06 (±42.66)84.34 (±31.01)
Table 8. Resulting clustering times t for the scaling experiment in the format ( m e d i a n v a l u e ± s t a n d a r d d e v i a t i o n ) .
Table 8. Resulting clustering times t for the scaling experiment in the format ( m e d i a n v a l u e ± s t a n d a r d d e v i a t i o n ) .
mHPClust-InnerHPClust-CompetitiveHPClust-CollectiveHPClust-HybridForgy K-MeansPBK-BDC
3 7 1.03 (±0.86)0.62 (±0.28)0.56 (±0.46)1.84 (±0.59)0.00 (±0.00)0.00 (±0.00)
3 8 1.41 (±0.66)1.56 (±0.75)0.68 (±0.70)1.82 (±0.69)0.01 (±0.00)0.01 (±0.00)
3 9 1.46 (±0.76)1.99 (±0.92)1.23 (±0.70)1.73 (±0.86)0.03 (±0.02)0.01 (±0.00)
3 10 1.48 (±0.80)1.96 (±0.95)1.53 (±0.70)1.52 (±0.78)0.19 (±0.19)0.03 (±0.01)
3 11 1.08 (±1.00)1.41 (±0.89)1.74 (±0.78)1.46 (±0.72)1.39 (±0.80)0.06 (±0.01)
3 12 1.35 (±0.83)1.72 (±0.93)2.27 (±0.73)1.69 (±0.64)6.96 (±3.34)0.18 (±0.01)
3 13 2.46 (±0.97)1.47 (±0.85)2.06 (±0.76)2.70 (±0.81)37.07 (±24.76)0.53 (±0.03)
3 14 2.59 (±0.80)1.48 (±0.81)1.73 (±0.74)2.71 (±0.94)222.16 (±100.82)1.62 (±0.10)
3 15 1.66 (±0.73)1.64 (±0.82)2.64 (±0.98)2.62 (±1.21)957.92 (±443.64)4.81 (±0.47)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Mussabayev, R.; Mussabayev, R. High-Performance Hybrid Algorithm for Minimum Sum-of-Squares Clustering of Infinitely Tall Data. Mathematics 2024, 12, 1930. https://doi.org/10.3390/math12131930

AMA Style

Mussabayev R, Mussabayev R. High-Performance Hybrid Algorithm for Minimum Sum-of-Squares Clustering of Infinitely Tall Data. Mathematics. 2024; 12(13):1930. https://doi.org/10.3390/math12131930

Chicago/Turabian Style

Mussabayev, Ravil, and Rustam Mussabayev. 2024. "High-Performance Hybrid Algorithm for Minimum Sum-of-Squares Clustering of Infinitely Tall Data" Mathematics 12, no. 13: 1930. https://doi.org/10.3390/math12131930

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop