## Clustering

Clustering algorithms can be categorized in different ways based on the techniques, the outputs, the process, and other considerations. In this topic, we will present some of the most widely used clustering algorithms.

### Clustering algorithms

There is a rich set of clustering techniques in use today for a wide variety of applications. This section presents some of them, explaining how they work, what kind of data they can be used with, and what their advantages and drawbacks are. These include algorithms that are prototype-based, density-based, probabilistic partition-based, hierarchy-based, graph-theory-based, and those based on neural networks.

#### k-Means

k-means is a centroid- or prototype-based iterative algorithm that employs partitioning and relocation methods (*References* [10]). k-means finds clusters of spherical shape depending on the distance metric used, as in the case of Euclidean distance.

##### Inputs and outputs

k-means can handle mostly numeric features. Many tools provide categorical...