Skip to main content

Clustering Analysis

Clustering is the process of grouping a set of data objects into multiple groups so that objects within a group have high similarity, but are very dissimilar to objects in other groups.

The clustering would help to discover previously unknown groups within the data.

The cluster analysis can be used to gain insight into the distribution of data, to observe the characteristics of each cluster, and to focus on a particular set of clusters for further analysis.

The main focus has been given to distance-based cluster analysis. The Cluster analysis tools based on k-means, k-medoids, and several other methods also have been built into many statistical analysis software packages.

The clustering is a form of learning by observation, rather than learning by examples.

Requirement of Clustering

  • Scalability
  • Ability to deal various types of attributes
  • Discovery of clusters with arbitrary shape
  • Requirement for domain knowledge
  • Ability to deal with noisy data
  • Incremental clustering and insensitivity to input order
  • Capability of clustering high dimensionality data
  • Constraint based clustering
  • Interpretability and usability

Many clustering algorithms work well on small data sets whereas it leads to biased results when sample of large data sets given.

Many clustering algorithms are designed to work on numeric type data. However, algorithms are preferred to work in binary, nominal, ordinal and complex data types.

Many clustering algorithms determine clusters based on Euclidean or Manhattan distance measures.

Many clustering algorithms require users to provide domain knowledge in the form of input parameters.

The clustering methods can differ with respect to the partitioning level, whether or not clusters are mutually exclusive, the similarity measures used, and whether or not subspace clustering is performed.

Clustering Methods

Partitioning method

Most partitioning methods are distance-based. The partitioning method creates an initial partitioning based on given k, the number of partitions to construct using mean or medoid. It is effective for small to medium datasets.

Hierarchical method

A hierarchical method creates a hierarchical decomposition of the given set of data objects. It can be classified as being either agglomerative (bottom up) or divisive (top down), based on how the hierarchical decomposition is formed. Hierarchical clustering methods can be distance-based or density and continuity based. The merged or split data cannot be corrected.

Density-based method

Density-based method can divide a set of objects into multiple exclusive clusters, or a hierarchy of clusters. The clustering methods have been developed based on the notion of density. It can be used to find arbitrarily shaped clusters and filter out Outliers.

Grid-based method

Grid-based methods quantize the object space into a finite number of cells that form a grid structure. The main advantage of this approach is its fast processing time, which is typically independent of the number of data objects and dependent only on the number of cells in each dimension in the quantized space.

Popular posts from this blog

Gaussian Elimination - Row reduction Algorithm

 Gaussian elimination is a method for solving matrix equations of the form, Ax=b.  This method is also known as the row reduction algorithm. Back  Substitution Solving the last equation for the variable and then work backward into the first equation to solve it.  The fundamental idea is to add multiples of one equation to the others in order to eliminate a variable and to continue this process until only one variable is left. Pivot row The row that is used to perform elimination of a variable from other rows is called the pivot row. Example: Solving a linear equation The augmented matrix for the above equation shall be The equation shall be solved using back substitution. The eliminating the first variable (x1) in the first row (Pivot row) by carrying out the row operation. As the second row become zero, the row will be shifted to bottom by carrying out partial pivoting. Now, the second variable (x2)  shall be eliminated by carrying out the row operation again. ...

Exercise 2 - Amdahl's Law

A programmer has parallelized 99% of a program, but there is no value in increasing the problem size, i.e., the program will always be run with the same problem size regardless of the number of processors or cores used. What is the expected speedup on 20 processors? Solution As per Amdahl's law, the speedup,  N - No of processors = 20 f - % of parallel operation = 99% = 1 / (1 - 0.99) + (0.99 / 20) = 1 / 0.01 + (0.99 / 20) = 16.807 The expected speedup on 20 processors is 16.807

Minor, Cofactor, Determinant, Adjoint & Inverse of a Matrix

Consider a matrix Minor of a Matrix I n the above matrix A, the minor of first element a 11  shall be Cofactor The Cofactor C ij  of an element a ij shall be When the sum of row number and column number is even, then Cofactor shall be positive, and for odd, Cofactor shall be negative. The determinant of an n x n matrix can be defined as the sum of multiplication of the first row element and their respective cofactors. Example, For a 2 x 2 matrix Cofactor C 11 = m 11 = | a 22 | = a 22  = 2 Determinant The determinant of A is  |A| = (3 x 2) - (1 x 1) = 5 Adjoint or Adjucate The Adjoint matrix of A , adjA is the transpose of its cofactor matrix. Inverse Matrix A matrix should be square matrix to have an inverse matrix and also its determinant should not be zero. The multiplication of matrix and its inverse shall be Identity matrix. The square matrix has no inverse is called Singular. Inv A = adjA / |A|           [ adjoint A / determ...