An Overview of Data Mining Techniques. Table 1.6 Some of the Differences Between the Nearest-Neighbor Data Mining Technique and Clustering. Data Mining Cluster Analysis - Learn Data Mining in simple and easy steps starting from basic to advanced concepts with examples Overview, Tasks, Data Mining, Issues. Chapter 15 CLUSTERING METHODS Lior Rokach Abstract This chapter presents a tutorial overview of the main clustering methods used in Data Mining. It is recent that the very large data sets and the cluster and large-scale Used in combination with the other data mining techniques, prediction. Data Clustering Techniques Qualifying Oral Examination Paper In this paper, we present the state of the art in clustering techniques, mainly from the data mining.

Data Clustering and Its Applications

Raza Ali (425), Usman Ghani (462), Aasim Saeed (464)

ABSTRACT

Fast retrieval of the relevant information from the databases has always been a significant issue. Different techniques have been developed for this purpose, one of them is Data Clustering. In this paper Data Clustering is discussed along with its two traditional approaches and their underground mining stages. Some applications of Data Clustering like Data Mining using Data Clustering and Similarity Searching in Medial Image Databases are also discussed along with a *clustering techniques for data mining* study of Microsoft Windows NT Operating system. The implementation of clustering in NT is also discussed.

- INTRODUCTION

Data clustering is a method in which we make cluster of objects that are somehow similar in characteristics. The criterion for checking the similarity is implementation dependent.

Clustering is often confused with classification, but there is some difference between the two. In classification the objects are assigned to pre defined classes, whereas in clustering the classes are also to be defined.

Precisely, Data Clustering is a technique in which, the information that is logically similar is physically stored together. In order to increase the efficiency in the mining pool register systems the number of disk accesses are to be minimized. In clustering the objects of similar properties are placed in one class of objects and a single access to the disk makes the entire class available.

1.1** Example to Elaborate the Idea of Clustering**

In order to elaborate the concept a little bit, let us take the example of the library system. In a library books concerning to a large variety of topics are available. They are always **clustering techniques for data mining** in form of clusters. The books that have some kind of similarities among them are placed in one cluster. For example, books on the database are kept in one shelf and books on operating systems are kept in another cupboard, and so on. To further reduce the complexity, the books that **clustering techniques for data mining** same kind of topics are placed in same shelf, *clustering techniques for data mining*. And then the shelf and the cupboards are labeled with the relative name. Now when a user wants a book of specific kind on specific topic, he or she would only have to go to that particular shelf and check for the book rather than checking in the entire library.

The rest of the paper is divided into five sections.

Section 2 defines some frequently used terms

Section 3 describes some traditional approaches of clustering.

Section 4 gives the implementation of clustering in the field of Data Mining and **Clustering techniques for data mining** Medical field.

Section 5 includes a case study of Windows NT Operating System.

Section 6 concludes the paper.

2, **clustering techniques for data mining**. DEFINITIONS

In this section some frequently used terms are defined.

2.1**Cluster **A cluster is an ordered list of objects, which have some common characteristics. The objects belong to an interval [ab], in our case [0

*clustering techniques for data mining*, 1] [1]

2.2 **Distance Between Two Clusters**

The distance between two clusters involves some or all elements of the two clusters. The clustering method determines how the distance should be computed. [1]

2.3 **Similarity**

A similarity measure SIMILAR ( D_{i}, D_{j} ) can be used to represent the similarity between the documents. Typical similarity generates values diamond mining in world 0 for documents exhibiting no agreement among the assigned indexed terms, and 1 when mining hashrate comparison agreement is detected. Intermediate values are obtained for cases of partial agreement. [1]

2.4 **Average Similarity**

If the similarity measure is computed for all pairs of documents ( D_{i}, D_{j} ) except when i=j, **clustering techniques for data mining**, an average value AVERAGE SIMILARITY is obtainable. Specifically, AVERAGE SIMILARITY = CONSTANT SIMILAR ( D_{i}, D_{j} ), where i=1,2,….n and

j=1,2,….n and i < > j

2.5 **Threshold**

The lowest possible input value of similarity required to join two objects in one cluster.

2.6 **Similarity Matrix**

Similarity between objects calculated by the function SIMILAR (D_{i,},D_{j}), represented in the form of a matrix is called a similarity matrix.

2.7 **Dissimilarity Coefficient**

The dissimilarity coefficient of two clusters is defined to be the distance between them. The smaller the value of dissimilarity coefficientthe more similar two clusters are.

2.8 **Cluster Seed**

First document or object of a cluster is defined as the initiator of that cluster i.e. every incoming object’s similarity is compared with the initiator. The initiator is called the cluster seed.

3. TYPES OF CLUSTERING METHODS

There are many clustering methods available, and each of them may *clustering techniques for data mining* a different grouping of a dataset, *clustering techniques for data mining*. The choice of a particular method will depend on the type of output desired, The known performance of method with particular types of data, the hardware and software facilities available and the size of the dataset. In general **clustering techniques for data mining,** clustering methods may be divided into two categories based on the cluster structure which they produce. The non-hierarchical methods divide a dataset of N objects into M clusters, with or without overlap.

These methods are sometimes divided into *partitioning* methods, in which the classes are mutually exclusive, and the less common *clumping* method, in which overlap is allowed. Each object is a member of the cluster with which it is most similar, however the threshold of similarity has to be defined. The hierarchical methods produce a set of nested clusters in which each pair of objects or clusters is progressively nested in a larger cluster until only one cluster remains. The hierarchical methods can be further divided into *agglomerative *or *divisive* methods, *clustering techniques for data mining*. In *agglomerative* methodsthe hierarchy is build up in a series of N-1 agglomerations, **clustering techniques for data mining**, or Fusion, of pairs of objects, beginning with the un-clustered dataset. The less common *divisive* methods begin with all objects in a how to use bitcoin mining cluster and at each of N-1 steps divides some clusters into two smaller clusters, until each object resides in its own cluster.

Some of the important Data Clustering Methods are described below.

3.1 **Partitioning Methods**

The partitioning methods generally result in a set of M clusters, each object belonging to one cluster. Each cluster may be represented by a centroid or a cluster representative; this is some sort of summary description of all the objects contained in a cluster, *clustering techniques for data mining*. The precise form of this description will depend on the type of the object which is being clustered. In case where real-valued data is available, the arithmetic mean of the attribute vectors for all objects within a cluster provides an appropriate representative; alternative types of centroid may be required in other cases, e.g., a cluster of documents can be represented by a list of those keywords that occur in some minimum number of documents within a cluster. If the number of the clusters is large, the centroids can be further clustered to produces hierarchy within a dataset.

Single Pass:

A very simple partition method, the single pass method creates a partitioned dataset as follows:- Make the first object the centroid for the first cluster.
- For the next object, calculate the similarity, S, with each existing cluster centroid,
*clustering techniques for data mining*, using some similarity coefficient. - If the highest calculated S is greater than some specified threshold value, add the object to the corresponding cluster and re determine the centroid; otherwise, use the object to initiate a new cluster. If any objects remain to be clustered, return to step 2.

As its name implies, this method requires only one pass through the dataset; the time requirements are typically of order *O(NlogN)* for order *O(logN)* clusters. This makes it a very efficient clustering method for a serial processor, *clustering techniques for data mining*. A disadvantage is that the resulting clusters are not independent of the order in which the documents are processed, with the first clusters formed usually being larger than those created later in the clustering run

3.2 Hierarchical Agglomerative methods

The hierarchical agglomerative clustering methods are most commonly used. The construction of an hierarchical agglomerative classification can be achieved by the following general algorithm.

- Find the 2 closest objects and merge them into a cluster
- Find and merge the next two closest points, where a point is either an individual object or a cluster of objects.
- If more than one cluster remains
*clustering techniques for data mining*, return to step 2

Individual methods are characterized by the definition used for identification of the closest pair of points, and by the means used to describe the new cluster when two clusters are merged.

There are some general approaches to implementation of this algorithm, these being stored matrix and stored data, are discussed below

- In the second matrix approachan N*N matrix containing all pairwise distance values is first created, and updated as new clusters are formed. This approach has at least an O(n*n) time requirement, rising to O(n
^{3}) if a simple serial scan of dissimilarity matrix is used to identify the points which need to be fused in each agglomeration, a serious limitation for large N. - The stored data
*clustering techniques for data mining*required the recalculation of pairwise dissimilarity values for each of the N-1 agglomerations, and the O(N) space requirement is therefore achieved at the expense of an O(N^{3}) time requirement.

3.3 The Single Link Method (SLINK)

The single link method is probably the best known of the hierarchical methods and operates by joining, at each step, the two most similar objects, which are not yet in the same cluster. The name *single link *thus refers to the joining of pairs of clusters by the single shortest link between them.

3.4 The Complete Link Method (CLINK)

The complete link method is similar to the single link method except that it uses the least similar pair between two clusters to determine the inter-cluster similarity (so that every cluster member is more like the furthest member of its own cluster than the furthest item in any other cluster ). This method is characterized by small, tightly bound clusters.

3. 5 The Group Average Method

The group average method relies on the average value of the pair wise within a cluster, rather than the maximum or minimum similarity as with the single link or the complete link methods. Since all objects in a cluster contribute to the inter –cluster similarity, each object ison average more like every other member of its own cluster then the objects in any other cluster.

3.6 Text Based Documents

In the text based documents, the clusters may be made by considering the similarity as some of the key words that are found for a minimum number of times in a document. Now when a query comes regarding a typical word then instead of checking the entire database, only that cluster is scanned which has that word in the list of its key words and the result is given. The order of the documents received in the result is dependent on the number of times that key word appears in the document.

4. Applications

Data clustering has immense number of applications in every field of life, **clustering techniques for data mining**. One has to cluster a lot of thing on the basis of similarity either consciously or unconsciously. So the history of data clustering is old as the history of mankind.

In computer field also, use of data clustering has its own value. Specially in the field of information retrieval data clustering plays an important role. Some of the applications are listed below.

4.1 Similarity searching in Medical Image Database

This is a major application of the clustering technique. In order to detect many diseases like Tumor etc, the scanned pictures or the x-rays are compared with the existing ones and the dissimilarities are recognized.

We have clusters of images of different parts of the body. For example, the images of the CT Scan of brain are kept in one cluster. To further arrange things, the images in which the right side of the brain is damaged are kept in one cluster. The hierarchical clustering is used. The stored images have already been analyzed and a record is associated with each image. In this form a large database of images is maintained using the hierarchical clustering.

Now when a new query image comes, it is firstly recognized that what particular cluster this image belongs, and then by similarity matching with a healthy image *clustering techniques for data mining* that specific cluster the main damaged portion or the diseased portion is recognized. Then the image is sent to *clustering techniques for data mining* specific cluster and matched with all the images in that particular cluster. Now the image with which the query image has the most similarities, is retrieved and the record associated to that image is also associated to the query image. This means that now the disease of the query image has been detected.

Using this technique and some really precise methods for the pattern matching, **clustering techniques for data mining**, diseases like really fine tumor can also be detected.

So by using clustering an enormous amount of time in finding the exact match from the database is reduced.

4.2 Data Mining

Another important application of clustering is in the field of data mining. Data mining is defined as follows.

Definition1:

"Data mining is the process of discovering meaningful new correlation, patterns and trends by sifting through large amounts of data, using pattern recognition technologies as well as statistical and mathematical techniques." [5]Definition2:

Data mining is a "knowledge discovery process of extracting previously unknown, actionable information from very large databases." [5]Use of Clustering in Data Mining:

Clustering is often one of the first steps in data mining analysis. It identifies groups of related records that can be used as a starting point for exploring further relationships. This technique supports the development of population segmentation models, such as demographic-based customer segmentation. Additional analyses using standard analytical and other data mining techniques can determine the characteristics of these segments with respect to some desired outcome. For example, the buying habits of multiple population segments might be compared to determine which segments to target**clustering techniques for data mining**a new sales books text mining.

For example, a company that sales a variety of products may need to know about the sale of all of their products in order to check that what product is giving extensive sale and which is lacking. This is done by data mining techniques, **clustering techniques for data mining**. **Clustering techniques for data mining** if the system clusters the products that are giving less sale then only the cluster of such products would have to be checked rather than comparing the sales value of all the products. This is actually to facilitate the mining process.

4.3 Windows NT

Another major application of clustering is in the new version of windows NT. Windows NT uses clustering, it determine the nodes that are using same kind of resources and accumulate them into one cluster. Now this new cluster can be controlled as one node.

The detailed study of clustering in Windows NT is given below as the Case Study.

5. CASE STUDY

5.1 Clustering in Windows NT.

Clusters of computer systems have been built and used for over a decade. Pfister defines a cluster as "a parallel or distributed system that consists of a collection of interconnected whole computers, that is utilized as a single, unified computing resource". In general, the goal of a cluster is to make it possible to share a computing load over several systems without either the users or system administrators needing to know that more than one system is involved. [3]

We describe the architecture quartz mining process the clustering extensions to the Windows NT operating system. Windows NT clusters provide three principal user visible advantages: improved availability by continuing to provide a service even during hardware or software failure. If any component in the system, hardware or software fails the user may see degraded performance, but will not lose access to the service, **clustering techniques for data mining**. Increased scalability by allowing new components to be added as system load increases. Lastly, clusters simplify the management of groups of systems and their applications by allowing the administrator to manage the entire group as a single system.

In Windows NT Environment, all the nodes (the terminals) that are using the same resources are accumulated in one cluster. So the similarity among gpu software mining cluster members is the usage of the same kind of resources at one time. Now only one group of monitoring program can monitor the entire cluster as one single node. Manually, clustering can also be established by running a clustering program at a node. Now this node will be the first one in the cluster and all the other nodes that will be entered should use the same resources.

Windows NT Clusters are, in general, shared nothing clusters. This means that while several systems in the cluster may have access to a device or resource, it is effectively owned and managed by a single system at goal mining time.

Members of a cluster are referred to as *nodes* or *systems.* The *Cluster Service* is the collection of software on each node that manages all cluster specific activity. Cluster service is a separate, isolated set of components.

Services in a Windows NT cluster are exposed as *virtual servers*, *clustering techniques for data mining*. Client Workstations believe they are connecting with a physical system, but are in fact, connecting to a service which may be provided by one of several systems. Clients create a TCP/IP session with a service in the cluster using a known IP address. In the event of a failure the cluster service will "move" the entire merged mining xdn to another system. The client will detect a failure in *clustering techniques for data mining* session and reconnect in exactly the same manner as the original connection. The IP address is now available on another machine and the connection will be quickly re-established.

The following things work on top of clustering in Windows NT Environment.

- The Node Manager handles cluster membership, watches the health of other cluster systems.
- Configuration Database Manager maintains the cluster configuration database.
- Resource Manager/Failover Manager makes all resource management decisions and initiates appropriate actions, such as startup, restart and failover.

- Event Processor connects all of the components of black arrow mining Cluster Service, handles common operations and controls Cluster Service initialization.

- Communications Manager manages communications with all other nodes of the cluster.
- Global Update Manager - provides a global update service that is used by other components within the Cluster Service.

Creating a Cluster:

When a system administrator wishes to create a new cluster, the administrator will run a cluster installation utility on the system to become the first member of the cluster. For a new cluster, the database is created and the initial cluster member is added. The administrator will then configure any devices that are to be managed by the cluster software. We now have a cluster with a single member. In the next step of clustering each node is added to the cluster by means of similarity on the basis of the resources used. The new node automatically receives a copy of the existing cluster database.Joining a Cluster:

Following a restart of a system, the cluster service is started automatically. The system configures and mounts local,**clustering techniques for data mining**, non-shared devices. Cluster-wide devices must be left offline while booting because another node may be using them. The system uses a ‘discovery’ process to find the other members of the cluster.

Leaving a Cluster:

When leaving a cluster,**clustering techniques for data mining**, a cluster member will send a ClusterExit message to all other members on the cluster, notifying them of its intent to leave the cluster. The exiting cluster member does not wait for any responses and immediately proceeds to shutdown all resources and close all connections managed by the cluster software.

Sending a message to the other systems in the cluster when leaving saves the other systems from discovering the absence and having to go to a regroup effort to re-establish the membership.

6. CONCLUSION

In this paper, we try to give the basic concept of clustering by first king of kings mining company the definition and clustering and then the definition of some related terms. We give some examples to elaborate the concept. Then we give different approaches to data clustering and also discussed some algorithms to implement that approaches. The partitioning hd 5770 mining and hierarchical method of clustering were explained. The applications of clustering are also discussed with the examples of medical images database, data mining using data clustering and waves coin mining the case study of windows NT.

So we try to prove the importance of clustering in every area of computer science. We also try to prove that clustering is not something really typical to databases but it has its applications in the fields like networking.

7. REFERENCES

[1] Athman Bouguettaya "On Line Clustering", *IEEE Transaction on Knowledge and Data Engineering *Volume 8, No. 2, April 1996.

[2] Euripides G.M. Petrakis and Christos Faloutsos "Similarity Searching in Medical Image Databases", *IEEE Transaction on Knowledge and Data Engineering *Volume 9, No. 3, MAY/JUNE 1997.

[3] Rob Short, Rod Gamache, John Vert and Mike Massa "Windows NT Clusters for Availability and Scalability" *Microsoft Online Research Papers, Microsoft Corporation.*

[4] Jim Gray "QqJim Gray’s NT Clusters Research Agenda" *Microsoft Online Research Papers, Microsoft Corporation. *

[5] Bruce Moxon "Defining Data Mining, The Hows and Whys of Data Mining, and How It Differs From Other Analytical Techniques" *Online Addition of DBMS Data Warehouse Supplement,* August 1996*.*

[6] Willet, Peter "Parallel Database Processing, Text Retrieval and Cluster Analyses" *Pitman Publishing, London, *1990.

### Different Techniques of Data Clustering

Data Clustering Techniques Qualifying Oral Examination Paper In this paper, we present the state of the art in clustering techniques, mainly from the data mining. Cluster analysis or clustering is the task of grouping a set of objects in such In the data mining community these methods are recognized as a theoretical. Data Clustering and Its Applications. Use of Clustering in Data Mining: Additional analyses using standard analytical and other data mining techniques can. Clustering Techniques and STATISTICA Case Study: Defining Clusters of Shopping Center Patrons STATISTICA Solutions for Business Intelligence, Data Mining, Quality. Survey of Clustering Data Mining Techniques Pavel Berkhin Accrue Software, Inc. Clustering is a division of data into groups of similar objects. An Introduction to Cluster Analysis for Data Mining BASIC CLUSTERING TECHNIQUES to provide an introduction to cluster analysis in.### Survey of Clustering Data Mining Techniques Pavel Berkhin Accrue Software, Inc. Clustering is a division of data into groups of similar objects. Data Clustering and Its Applications. Use of Clustering in Data Mining: Additional analyses using standard analytical and other data mining techniques can. Chapter 15 CLUSTERING METHODS Lior Rokach Abstract This chapter presents a tutorial overview of the main clustering methods used in Data Mining.

For the supervised learning approach, see Statistical classification.

**Cluster analysis** or **clustering** is the task of grouping a set of objects in such a way that objects in the same group (called a **cluster**) are more similar (in some sense) to each other than to those in other groups (clusters). It is a main task of exploratory data mining, and a common technique for statisticaldata analysis, used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics.

Cluster analysis itself is not one specific algorithm, but the general task to be solved. It can be achieved by various algorithms that differ significantly in their notion of what constitutes a cluster and how to efficiently find them. Popular notions of clusters include groups with small distances between cluster members, dense areas of the data space, intervals or particular statistical distributions. Clustering can therefore be formulated as a multi-objective optimization problem. The appropriate clustering algorithm and parameter settings (including parameters such as the distance function to use, a density threshold or the number of expected clusters) depend on the individual data set and intended use of the results. Cluster analysis as such is not an automatic task, but an iterative process of knowledge discovery or interactive multi-objective optimization that involves trial and failure. It is often necessary to modify data preprocessing and model parameters until the result achieves the desired properties.

Besides the term *clustering*, there are a number of terms with similar meanings, including *automatic classification*, *numerical taxonomy*, *botryology* (from Greek βότρυς "grape") and *typological analysis*. The subtle differences are often in the use of the results: while in data mining, the resulting groups are the matter of interest, in automatic classification the resulting discriminative power is of interest.

Cluster analysis was originated in anthropology by Driver and Kroeber in 1932 and introduced to psychology by Zubin in 1938 and Robert Tryon in 1939^{[1]}^{[2]} and famously used by Cattell beginning in 1943^{[3]} for trait theory classification in personality psychology.

## Definition[edit]

The notion of a "cluster" cannot be precisely defined, which is one of the reasons why there are so many clustering algorithms.^{[4]} There is a common denominator: a group of data objects. However, different researchers employ different cluster models, and for each of these cluster models again different algorithms can be given. The notion of a cluster, as found by different algorithms, varies significantly in its properties. Understanding these "cluster models" is key to understanding the differences between the various algorithms. Typical cluster models include:

*Connectivity models*: for example, hierarchical clustering builds models based on distance connectivity.*Centroid models*: for example, the k-means algorithm represents each cluster by a single mean vector.*Distribution models*: clusters are modeled using statistical distributions, such as multivariate normal distributions used by the expectation-maximization algorithm.*Density models*: for example, DBSCAN and OPTICS defines clusters as connected dense regions in the data space.*Subspace models*: in biclustering (also known as co-clustering or two-mode-clustering), clusters are modeled with both cluster members and relevant attributes.*Group models*: some algorithms do not provide a refined model for their results and just provide the grouping information.*Graph-based models*: a clique, that is, a subset of nodes in a graph such that every two nodes in the subset are connected by an edge can be considered as a prototypical form of cluster. Relaxations of the complete connectivity requirement (a fraction of the edges can be missing) are known as quasi-cliques, as in the HCS clustering algorithm.*Neural models*: the most well known unsupervisedneural network is the self-organizing map and these models can usually be characterized as similar to one or more of the above models, and including subspace models when neural networks implement a form of Principal Component Analysis or Independent Component Analysis.

A "clustering" is essentially a set of such clusters, usually containing all objects in the data set. Additionally, it may specify the relationship of the clusters to each other, for example, a hierarchy of clusters embedded in each other. Clusterings can be roughly distinguished as:

*Hard clustering*: each object belongs to a cluster or not*Soft clustering*(also:*fuzzy clustering*): each object belongs to each cluster to a certain degree (for example, a likelihood of belonging to the cluster)

There are also finer distinctions possible, for example:

*Strict partitioning clustering*: each object belongs to exactly one cluster*Strict partitioning clustering with outliers*: objects can also belong to no cluster, and are considered outliers*Overlapping clustering*(also:*alternative clustering*,*multi-view clustering*): objects may belong to more than one cluster; usually involving hard clusters*Hierarchical clustering*: objects that belong to a child cluster also belong to the parent cluster*Subspace clustering*: while an overlapping clustering, within a uniquely defined subspace, clusters are not expected to overlap

## Algorithms[edit]

Main category: Cluster analysis algorithms

Clustering algorithms can be categorized based on their cluster model, as listed above. The following overview will only list the most prominent examples of clustering algorithms, as there are possibly over 100 published clustering algorithms. Not all provide models for their clusters and can thus not easily be categorized. An overview of algorithms explained in Wikipedia can be found in the list of statistics algorithms.

There is no objectively "correct" clustering algorithm, but as it was noted, "clustering is in the eye of the beholder."^{[4]} The most appropriate clustering algorithm for a particular problem often needs to be chosen experimentally, unless there is a mathematical reason to prefer one cluster model over another. It should be noted that an algorithm that is designed for one kind of model will generally fail on a data set that contains a radically different kind of model.^{[4]} For example, k-means cannot find non-convex clusters.^{[4]}

### Connectivity-based clustering (hierarchical clustering)[edit]

Main article: Hierarchical clustering

Connectivity based clustering, also known as *hierarchical clustering*, is based on the core idea of objects being more related to nearby objects than to objects farther away. These algorithms connect "objects" to form "clusters" based on their distance. A cluster can be described largely by the maximum distance needed to connect parts of the cluster. At different distances, different clusters will form, which can be represented using a dendrogram, which explains where the common name "hierarchical clustering" comes from: these algorithms do not provide a single partitioning of the data set, but instead provide an extensive hierarchy of clusters that merge with each other at certain distances. In a dendrogram, the y-axis marks the distance at which the clusters merge, while the objects are placed along the x-axis such that the clusters don't mix.

Connectivity based clustering is a whole family of methods that differ by the way distances are computed. Apart from the usual choice of distance functions, the user also needs to decide on the linkage criterion (since a cluster consists of multiple objects, there are multiple candidates to compute the distance) to use. Popular choices are known as single-linkage clustering (the minimum of object distances), complete linkage clustering (the maximum of object distances) or UPGMA ("Unweighted Pair Group Method with Arithmetic Mean", also known as average linkage clustering). Furthermore, hierarchical clustering can be agglomerative (starting with single elements and aggregating them into clusters) or divisive (starting with the complete data set and dividing it into partitions).

These methods will not produce a unique partitioning of the data set, but a hierarchy from which the user still needs to choose appropriate clusters. They are not very robust towards outliers, which will either show up as additional clusters or even cause other clusters to merge (known as "chaining phenomenon", in particular with single-linkage clustering). In the general case, the complexity is for agglomerative clustering and for divisive clustering,^{[5]} which makes them too slow for large data sets. For some special cases, optimal efficient methods (of complexity ) are known: SLINK^{[6]} for single-linkage and CLINK^{[7]} for complete-linkage clustering. In the data mining community these methods are recognized as a theoretical foundation of cluster analysis, but often considered obsolete^{[citation needed]}. They did however provide inspiration for many later methods such as density based clustering.

- Linkage clustering examples
Single-linkage on Gaussian data. At 35 clusters, the biggest cluster starts fragmenting into smaller parts, while before it was still connected to the second largest due to the single-link effect.

Single-linkage on density-based clusters. 20 clusters extracted, most of which contain single elements, since linkage clustering does not have a notion of "noise".

### Centroid-based clustering[edit]

Main article: k-means clustering

In centroid-based clustering, clusters are represented by a central vector, which may not necessarily be a member of the data set. When the number of clusters is fixed to *k*, *k*-means clustering gives a formal definition as an optimization problem: find the *k* cluster centers and assign the objects to the nearest cluster center, such that the squared distances from the cluster are minimized.

The optimization problem itself is known to be NP-hard, and thus the common approach is to search only for approximate solutions. A particularly well known approximate method is Lloyd's algorithm,^{[8]} often just referred to as "*k-means algorithm*" (although another algorithm introduced this name). It does however only find a local optimum, and is commonly run multiple times with different random initializations. Variations of *k*-means often include such optimizations as choosing the best of multiple runs, but also restricting the centroids to members of the data set (*k*-medoids), choosing medians (*k*-medians clustering), choosing the initial centers less randomly (*k*-means++) or allowing a fuzzy cluster assignment (fuzzy c-means).

Most *k*-means-type algorithms require the number of clusters - *k* - to be specified in advance, which is considered to be one of the biggest drawbacks of these algorithms. Furthermore, the algorithms prefer clusters of approximately similar size, as they will always assign an object to the nearest centroid. This often leads to incorrectly cut borders of clusters (which is not surprising since the algorithm optimizes cluster centers, not cluster borders).

K-means has a number of interesting theoretical properties. First, it partitions the data space into a structure known as a Voronoi diagram. Second, it is conceptually close to nearest neighbor classification, and as such is popular in machine learning. Third, it can be seen as a variation of model based clustering, and Lloyd's algorithm as a variation of the Expectation-maximization algorithm for this model discussed below.

- k-means clustering examples
K-means separates data into Voronoi-cells, which assumes equal-sized clusters (not adequate here)

K-means cannot represent density-based clusters

### Distribution-based clustering[edit]

The clustering model most closely related to statistics is based on distribution models. Clusters can then easily be defined as objects belonging most likely to the same distribution. A convenient property of this approach is that this closely resembles the way artificial data sets are generated: by sampling random objects from a distribution.

While the theoretical foundation of these methods is excellent, they suffer from one key problem known as overfitting, unless constraints are put on the model complexity. A more complex model will usually be able to explain the data better, which makes choosing the appropriate model complexity inherently difficult.

One prominent method is known as Gaussian mixture models (using the expectation-maximization algorithm). Here, the data set is usually modeled with a fixed (to avoid overfitting) number of Gaussian distributions that are initialized randomly and whose parameters are iteratively optimized to better fit the data set. This will converge to a local optimum, so multiple runs may produce different results. In order to obtain a hard clustering, objects are often then assigned to the Gaussian distribution they most likely belong to; for soft clusterings, this is not necessary.

Distribution-based clustering produces complex models for clusters that can capture correlation and dependence between attributes. However, these algorithms put an extra burden on the user: for many real data sets, there may be no concisely defined mathematical model (e.g. assuming Gaussian distributions is a rather strong assumption on the data).

- Expectation-maximization (EM) clustering examples
On Gaussian-distributed data, EM works well, since it uses Gaussians for modelling clusters

Density-based clusters cannot be modeled using Gaussian distributions

### Density-based clustering[edit]

In density-based clustering,^{[9]} clusters are defined as areas of higher density than the remainder of the data set. Objects in these sparse areas - that are required to separate clusters - are usually considered to be noise and border points.

The most popular^{[10]} density based clustering method is DBSCAN.^{[11]} In contrast to many newer methods, it features a well-defined cluster model called "density-reachability". Similar to linkage based clustering, it is based on connecting points within certain distance thresholds. However, it only connects points that satisfy a density criterion, in the original variant defined as a minimum number of other objects within this radius. A cluster consists of all density-connected objects (which can form a cluster of an arbitrary shape, in contrast to many other methods) plus all objects that are within these objects' range. Another interesting property of DBSCAN is that its complexity is fairly low - it requires a linear number of range queries on the database - and that it will discover essentially the same results (it is deterministic for core and noise points, but not for border points) in each run, therefore there is no need to run it multiple times. OPTICS^{[12]} is a generalization of DBSCAN that removes the need to choose an appropriate value for the range parameter , and produces a hierarchical result related to that of linkage clustering. DeLi-Clu,^{[13]} Density-Link-Clustering combines ideas from single-linkage clustering and OPTICS, eliminating the parameter entirely and offering performance improvements over OPTICS by using an R-tree index.

The key drawback of DBSCAN and OPTICS is that they expect some kind of density drop to detect cluster borders. On data sets with, for example, overlapping Gaussian distributions - a common use case in artificial data - the cluster borders produced by these algorithms will often look arbitrary, because the cluster density decreases continuously. On a data set consisting of mixtures of Gaussians, these algorithms are nearly always outperformed by methods such as EM clustering that are able to precisely model this kind of data.

Mean-shift is a clustering approach where each object is moved to the densest area in its vicinity, based on kernel density estimation. Eventually, objects converge to local maxima of density. Similar to k-means clustering, these "density attractors" can serve as representatives for the data set, but mean-shift can detect arbitrary-shaped clusters similar to DBSCAN. Due to the expensive iterative procedure and density estimation, mean-shift is usually slower than DBSCAN or k-Means. Besides that, the applicability of the mean-shift algorithm to multidimensional data is hindered by the unsmooth behaviour of the kernel density estimate, which results in over-fragmentation of cluster tails.^{[13]}

- Density-based clustering examples
Density-based clustering with DBSCAN.

DBSCAN assumes clusters of similar density, and may have problems separating nearby clusters

OPTICS is a DBSCAN variant that handles different densities much better

### Recent developments[edit]

In recent years considerable effort has been put into improving the performance of existing algorithms.^{[14]}^{[15]} Among them are *CLARANS* (Ng and Han, 1994),^{[16]} and *BIRCH* (Zhang et al., 1996).^{[17]} With the recent need to process larger and larger data sets (also known as big data), the willingness to trade semantic meaning of the generated clusters for performance has been increasing. This led to the development of pre-clustering methods such as canopy clustering, which can process huge data sets efficiently, but the resulting "clusters" are merely a rough pre-partitioning of the data set to then analyze the partitions with existing slower methods such as k-means clustering. Various other approaches to clustering have been tried such as seed based clustering.^{[18]}

For high-dimensional data, many of the existing methods fail due to the curse of dimensionality, which renders particular distance functions problematic in high-dimensional spaces. This led to new clustering algorithms for high-dimensional data that focus on subspace clustering (where only some attributes are used, and cluster models include the relevant attributes for the cluster) and correlation clustering that also looks for arbitrary rotated ("correlated") subspace clusters that can be modeled by giving a correlation of their attributes.^{[19]} Examples for such clustering algorithms are CLIQUE^{[20]} and SUBCLU.^{[21]}

Ideas from density-based clustering methods (in particular the DBSCAN/OPTICS family of algorithms) have been adopted to subspace clustering (HiSC,^{[22]} hierarchical subspace clustering and DiSH^{[23]}) and correlation clustering (HiCO,^{[24]} hierarchical correlation clustering, 4C^{[25]} using "correlation connectivity" and ERiC^{[26]} exploring hierarchical density-based correlation clusters).

Several different clustering systems based on mutual information have been proposed. One is Marina Meilă's *variation of information* metric;^{[27]} another provides hierarchical clustering.^{[28]} Using genetic algorithms, a wide range of different fit-functions can be optimized, including mutual information.^{[29]} Also message passing algorithms, a recent development in computer science and statistical physics, has led to the creation of new types of clustering algorithms.^{[30]}

## Evaluation and assessment[edit]

Evaluation (or "validation") of clustering results is as difficult as the clustering itself.^{[31]} Popular approaches involve "*internal*" evaluation, where the clustering is summarized to a single quality score, "*external*" evaluation, where the clustering is compared to an existing "ground truth" classification, "*manual*" evaluation by a human expert, and "*indirect*" evaluation by evaluating the utility of the clustering in its intended application.^{[32]}

Internal evaluation measures suffer from the problem that they represent functions that themselves can be seen as a clustering objective. For example, one could cluster the data set by the Silhouette coefficient; except that there is no known efficient algorithm for this. By using such an internal measure for evaluation, we rather compare the similarity of the optimization problems,^{[32]} and not necessarily how useful the clustering is.

External evaluation has similar problems: if we have such "ground truth" labels, then we would not need to cluster; and in practical applications we usually do not have such labels. On the other hand, the labels only reflect one possible partitioning of the data set, which does not imply that there does not exist a different, and maybe even better, clustering.

Neither of these approaches can therefore ultimately judge the actual quality of a clustering, but this needs human evaluation,^{[32]} which is highly subjective. Nevertheless, such statistics can be quite informative in identifying bad clusterings,^{[33]} but one should not dismiss subjective human evaluation.^{[33]}

### Internal evaluation[edit]

See also: Determining the number of clusters in a data set

When a clustering result is evaluated based on the data that was clustered itself, this is called internal evaluation. Those that use a gold standard are called external measures and are discussed in the next section - although when they are symmetric they may also be used as measures between two clusters for internal evaluation. These methods usually assign the best score to the algorithm that produces clusters with high similarity within a cluster and low similarity between clusters. One drawback of using internal criteria in cluster evaluation is that high scores on an internal measure do not necessarily result in effective information retrieval applications.^{[34]} Additionally, this evaluation is biased towards algorithms that use the same cluster model. For example, k-means clustering naturally optimizes object distances, and a distance-based internal criterion will likely overrate the resulting clustering.

Therefore, the internal evaluation measures are best suited to get some insight into situations where one algorithm performs better than another, but this shall not imply that one algorithm produces more valid results than another.^{[4]} Validity as measured by such an index depends on the claim that this kind of structure exists in the data set. An algorithm designed for some kind of models has no chance if the data set contains a radically different set of models, or if the evaluation measures a radically different criterion.^{[4]} For example, k-means clustering can only find convex clusters, and many evaluation indexes assume convex clusters. On a data set with non-convex clusters neither the use of k-means, nor of an evaluation criterion that assumes convexity, is sound.

The following methods can be used to assess the quality of clustering algorithms based on internal criterion:

- The Davies–Bouldin index can be calculated by the following formula:
- where n is the number of clusters, is the centroid of cluster , is the average distance of all elements in cluster to centroid , and is the distance between centroids and . Since algorithms that produce clusters with low intra-cluster distances (high intra-cluster similarity) and high inter-cluster distances (low inter-cluster similarity) will have a low Davies–Bouldin index, the clustering algorithm that produces a collection of clusters with the smallest Davies–Bouldin index is considered the best algorithm based on this criterion.

- The Dunn index aims to identify dense and well-separated clusters. It is defined as the ratio between the minimal inter-cluster distance to maximal intra-cluster distance. For each cluster partition, the Dunn index can be calculated by the following formula:
^{[35]} - where
*d*(*i*,*j*) represents the distance between clusters*i*and*j*, and*d*'(*k*) measures the intra-cluster distance of cluster*k*. The inter-cluster distance*d*(*i*,*j*) between two clusters may be any number of distance measures, such as the distance between the centroids of the clusters. Similarly, the intra-cluster distance*d*'(*k*) may be measured in a variety ways, such as the maximal distance between any pair of elements in cluster*k*. Since internal criterion seek clusters with high intra-cluster similarity and low inter-cluster similarity, algorithms that produce clusters with high Dunn index are more desirable.

- The silhouette coefficient contrasts the average distance to elements in the same cluster with the average distance to elements in other clusters. Objects with a high silhouette value are considered well clustered, objects with a low value may be outliers. This index works well with k-means clustering, and is also used to determine the optimal number of clusters.

### External evaluation[edit]

In external evaluation, clustering results are evaluated based on data that was not used for clustering, such as known class labels and external benchmarks. Such benchmarks consist of a set of pre-classified items, and these sets are often created by (expert) humans. Thus, the benchmark sets can be thought of as a gold standard for evaluation.^{[31]} These types of evaluation methods measure how close the clustering is to the predetermined benchmark classes. However, it has recently been discussed whether this is adequate for real data, or only on synthetic data sets with a factual ground truth, since classes can contain internal structure, the attributes present may not allow separation of clusters or the classes may contain anomalies.^{[36]} Additionally, from a knowledge discovery point of view, the reproduction of known knowledge may not necessarily be the intended result.^{[36]} In the special scenario of constrained clustering, where meta information (such as class labels) is used already in the clustering process, the hold-out of information for evaluation purposes is non-trivial.^{[37]}

A number of measures are adapted from variants used to evaluate classification tasks. In place of counting the number of times a class was correctly assigned to a single data point (known as true positives), such *pair counting* metrics assess whether each pair of data points that is truly in the same cluster is predicted to be in the same cluster.^{[31]}

Some of the measures of quality of a cluster algorithm using external criterion include:

**Purity**: Purity is a measure of the extent to which clusters contain a single class.^{[34]}Its calculation can be thought of as follows: For each cluster, count the number of data points from the most common class in said cluster. Now take the sum over all clusters and divide by the total number of data points. Formally, given some set of clusters and some set of classes , both partitioning data points, purity can be defined as:

- Note that this measure doesn't penalise having many clusters. So for example, a purity score of 1 is possible by putting each data point in its own cluster.

- The Rand index computes how similar the clusters (returned by the clustering algorithm) are to the benchmark classifications. One can also view the Rand index as a measure of the percentage of correct decisions made by the algorithm. It can be computed using the following formula:
- where is the number of true positives, is the number of true negatives, is the number of false positives, and is the number of false negatives. One issue with the Rand index is that false positives and false negatives are equally weighted. This may be an undesirable characteristic for some clustering applications. The F-measure addresses this concern, as does the chance-corrected adjusted Rand index.

- The F-measure can be used to balance the contribution of false negatives by weighting recall through a parameter . Let
**precision**and**recall**(both external evaluation measures in themselves) be defined as follows: - where is the precision

Mitchell mining | Usm steel and mining group limited |

Clustering techniques for data mining | English for mining technology vk |

Eve mining | 382 |

startcoin gpu mining

south african institute of mining and metallurgy