# Find appropriate clustering method

I have a dataset in which each data point is characterized by two variables: X and Y.

When I plot my data it would be something like this:

The plot shows some data points created a cluster (I demonstrated those with the red boundary). The other data points are noise points which are not important for me!

Thus, my data points are buried among noise data points.

So, I am looking for a clustering method which helps me to pick this cluster up.

• Did you look at Minimum Covariance Determinant?
– user83346
Dec 5, 2016 at 16:11
• I am looking for a conventional clustering method. The level of accuracy is not important for me! Dec 5, 2016 at 17:35
• You have different kinds of clustering methods that each can be combined with a choice of a dissimilarity measure. Enough choice I would say. Maybe you can start with the R package 'cluster'
– user83346
Dec 6, 2016 at 5:20

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

Reason:

1. The DBSCAN algorithm enables clustering without prior definition of the target amount of clusters.

2. It further marks outliers as noise which are located in a region with low density.

Material:

You can find an implementation in the sklearn package for python and a good explanation in Wikipedia.

Yet I want to emphasize, that there is no such thing as the right algorithm. Each has its distinct advantages and disadvantages buried in the model assumptions. Therefore other answers might just be as valid as this one.

The DBSCAN algorithm further relies on you to chose a distance measure - mostly Euclidean distance is default - which is problematic in high dimensional space.

Almost every clustering algorithm should be able to do this, if you choose the parameters right. What have you tried?

Except k-means, I guess - too much noise for k-means.

• Why isn't this a comment? :D Dec 6, 2016 at 23:01
• Because it answers the question: try some algorithms besides k-means. Dec 6, 2016 at 23:13