## Introduction

Cluster analysis is a statistical technique that is used to group together observations that are similar to each other. The resulting groups, or clusters, are then used for further analysis or for prediction.

There are many different ways to do cluster analysis, and the appropriate method to use will depend on the data and the desired outcome. In general, however, cluster analysis can be used for exploratory data analysis, to find patterns in the data, or to create predictions.

One common application of cluster analysis is market segmentation. This is where businesses use clustering to group together customers with similar characteristics. This information can then be used to target marketing efforts more effectively.

Another common application is in Fraud detection. Here, clusters can be used to group together transactions that are similar to each other in order to identify potential fraud.

Cluster analysis can also be used for finding groups of genes that are similar to each other, or for grouping together proteins that have similar functions.

## Data preprocessing

Data preprocessing is a data mining technique that involves transforming raw data into an understandable format. Clustering is a data mining technique that is used to group together data items that are similar.

### Data normalization

Data normalization is a critical step in cluster analyses because the features that vary the most will have the largest influence on the distances between data points. This can lead to inaccurate results if the data is not properly normalized.

There are a few different ways to normalize data, but the most common method is to rescale the data so that all of the features are between 0 and 1. This can be done by dividing each feature by its maximum value. Another popular method is to standardize the data, which rescales the data so that it has a mean of 0 and a standard deviation of 1.

Once the data has been normalized, it can be clustered using any of a number of clustering algorithms. The most popular algorithm for cluster analysis is k-means clustering, which will be discussed in more detail in a later section.

### Data discretization

Discretization is the process of converting data from a continuous to a discrete form. In cluster analysis, data discretization is often used to convert continuous data into a form that can be more easily analyzed.

There are many methods of data discretization, but the most common is binning. Binning is the process of dividing data into groups, or bins, based on a certain criteria. For example, data could be binned by its value range, or by its percentiles.

Once data has been discretized, it can then be analyzed using cluster analysis techniques. Cluster analysis is a type of statistical technique that is used to group data together based on similarities. This grouping can then be used to make predictions about new data points.

Data discretization is an important step in cluster analysis, and can help to make the results of the analysis more meaningful and interpretable.

## Data mining methods

Statistical methods used in data mining including decision trees, neural networks, genetic algorithms and Support Vector Machines can be used to segment your customer base. However, these methods require a large amount of data in order to produce reliable results. Another method which can be used to segment your customer base is cluster analysis.

### Hierarchical clustering

Hierarchical clustering is a data mining method that can be used to find groups of similar objects in a data set. It is a type of unsupervised learning, which means that it is used to find patterns in data without using labeled examples.

Hierarchical clustering can be used to cluster data points, documents, or other objects. It can be used to find groups of similar objects in a data set, or to find the closest neighbors of an object. Hierarchical clustering can be used with any type of data, but it is especially useful for high-dimensional data sets.

There are two main types of hierarchical clustering algorithms: agglomerative and divisive. Agglomerative algorithms start with each object in its own cluster, and then merge clusters until there is only one cluster left. Divisive algorithms start with all objects in one cluster, and then split the cluster into smaller clusters until each object is in its own cluster.

Hierarchical clustering algorithms can be used with any type of similarity measure. Common similarity measures include Euclidean distance, cosine similarity, and Jaccard similarity.

#### Agglomerative

Agglomerative methods begin with each point in a separate cluster and iteratively combine the closest clusters. The closeness of two clusters can be measured using various metrics, such as the Euclidean distance, Manhattan distance, or cosine similarity. Once all points are in one cluster, the algorithm terminates.

#### Divisive

An example of divisive data mining is one in which a company wants to identify the characteristics of its best customers in order to find more consumers with similar profiles. The company would first segment its customer base into two groups: those who make a lot of purchases and those who make few purchases. It would then look at the characteristics of each group to see what separates the two. This type of data mining can be used to segment a market, target specific groups with marketing campaigns, or even customize products and services.

### Partitional clustering

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 or another) to each other than to those in other groups (clusters). It is a main task of exploratory data mining, and a common technique for statistical data analysis, used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics.

There are a variety of partitioning clustering algorithms available. The most commonly used methods are listed below.

K-means clustering:

This is a very popular method which works by randomly initializing K “means” or cluster centers. The algorithm then assigns each point to the nearest mean and then recomputes the new cluster centers by taking the average (mean) of all points assigned to that cluster center. This process then repeats until it converges on K final clusters.

Fuzzy C-means clustering:

Fuzzy C-means (FCM) is very similar to K-means but with one important difference — instead of assigning each point strictly to one cluster center (as in K-means), FCM assigns each point to every cluster center with a certain probability. This soft assignment makes FCM more robust to outliers and able to find more complex patterns in the data.

Cure clustering:

Cure clustering is an optimization of K-means which can better handle outliers and high dimensional data sets. Cure works by first performing K-means on a randomly selected subset of the data and then gradually adding points from the rest of the data set. This process reduces the overall impact of outliers on the final clusters.

#### K-means

K-means is one of the simplest and the best known unsupervised learning algorithms, and can be used for a variety of machine learning tasks.

The goal of the algorithm is to find groups in the data, with the number of groups represented by the variable K. The algorithm works by iteratively assigning each data point to one of the K groups based on the points’ proximity to the group’s centroid (i.e., mean). The closest data points are assigned to the first group, and so on.

Each data point is then reassigned to the group that has the closest centroid. This process is repeated until there is no change in group assignments. The final groupings represent your partitions.scikit-learn implements two different algorithms for computing centroids: a k-means++ which selects initial cluster centers in a smart way to speed up convergence, and a random initialization called k-means|| which was proposed in a 2006 paper1; both are more sophisticated than the simple but inefficient approach of selecting randomly from among data points.”

#### Fuzzy c-means

In data mining, 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 or another) to each other than to those in other groups (clusters). It is a main task of explorative data mining, and a common technique for statistical data analysis, used in many fields, including machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression, and computer graphics.

Cluster analysis as a whole can be further subdivided into two main types: exclusive clustering and overlapping clustering. In exclusive clustering methods (also called hard methods), each object is assigned to exactly one cluster. In overlapping clustering methods (also called soft methods), an object may be assigned to more than one cluster.

There are many different algorithms for clustering; they can be categorized by their algorithmic approach as well as their modeling approach. Algorithmic approaches include defensive diversification (divisive algorithms), bottom-up agglomerative algorithms, and top-down divisive algorithms. Modeling approaches include centroid-based models (like k-means), connectionist models (like ART1 and self-organizing maps), density-based models (like DBSCAN), distribution-based models (like mixture models), graph-based models (like minimum spanning trees) and hybridmodels.[2][3] Some popular commercial software for data mining that includes cluster analysis functionality includes IBM SPSS Modeler,[4] SAS Enterprise Miner,[5] Megaputer PolyAnalyst,[6] FICO Xpress Insight,[7] KXEN Modeler,[8][9] pipe_dream from Innovative Analytics,[10] StatSoft Statistica Data Miner,[11][12] Neural Designer from Artelnics[13][14] Clementine from IBM Almaden Research Center,[15][16][17] MATLAB from The MathWorks[18], Weka[19], Orange Data Mining Software[20], RapidMiner[21], Knime[22], Natalia from Vanderbilt University,[23][24] PMML workflows with Tom Sawyer Perspectives’ Business Graph Software platform.[25][26]. Apache Mahout is an Apache project supporting Machine Learning including Clustering algorithms. Salford Systems CART and MARS are two examples of decision tree learning applications that have an optional module for clustering.[27][28]. Tibco Spotfire Data Science also contains predictive modeling modules with the ability to export predictive clusters for further use in other analytic applications such asSpotfire Decisioning..”

(Excerpt taken from Wikipedia: Cluster Analysis)

### Density-based clustering

Density-based clustering is a type of data mining method that is used to cluster data points that are densely packed together. This type of clustering is often used for outlier detection, as it can help identify data points that are far from the rest of the data.

#### DBSCAN

Density-based spatial clustering of applications with noise (DBSCAN) is a data clustering algorithm proposed by Martin Ester, Hans-Peter Kriegel, Jörg Sander and Xiaowei Xu in 1996. It is a density-based clustering algorithm: given a set of points in some space, it groups together points that are closely packed together (points with many nearby neighbors), marking as outliers points that lie alone in low-density regions (whose nearest neighbors are too far away).

DBSCAN is one of the most common clustering algorithms and also one of the most cited in scientific literature.

#### OPTICS

OPTICS is similar to DBSCAN, but does not require the user to specify a density threshold. It can be used with an interactive visualization tool called Obelisk to explore and cluster high-density regions in data.

OPTICS works by first ordering the points in the dataset by their “reachability”, which is defined as the (inverse of the) distance to the nearest point with a higher density. This produces a clustering “ordering” of the data, which can be used to visualise clusters without having to specify a density threshold, as well as identify points which lie between clusters (called “border points”).

## Conclusion

Cluster analysis can be a very useful tool for exploratory data analysis and for finding structure in data. It can be used to find groups of similar objects, to summarize data, or to reduce the dimensionality of data. In general, cluster analysis is a powerful tool that can be used in a variety of ways.