I am wondering what's the best way to handle outliers when using non-supervised clustering algorithms?
2 Answers
If you have outliers, the best way is to use a clustering algorithm that can handle them.
For example DBSCAN clustering is robust against outliers when you choose minpts large enough. Don't use k-means: the squared error approach is sensitive to outliers. But there are variants such as k-means-- for handling outliers.
-
$\begingroup$ Thanks! So does DBSCAN make each outlier a separated cluster? Then we can remove clusters with very small sizes. Or what is the mechanism DBSCAN uses to identify the outliers? $\endgroup$– EdamameNov 25, 2019 at 14:42
-
1$\begingroup$ It labels them as "noise", not as clusters at all. $\endgroup$ Nov 26, 2019 at 23:18
you can perform standardization of your data using Standard Scaler before applying clustering techniques or you can use k-mediod clustering algorithm. You can also use z-score analysis to remove your outliers.