0
$\begingroup$

Assume we train a KMeans model using data X. This will give a set of centroids that can be used to cluster data X* using a Nearest Centroid Classifier.

If we use a density-based model such as DBSCAN to train a model using data X, how can we use it to classify future data X*? Is KNN suitable?

Thanks!

$\endgroup$
1
$\begingroup$

General speaking, you can assign the cluster to the new value using the method of that clustering method. For example, if you are using the DBSACAN algorithm, you can assign the cluster to the new value, if it is reachable from one core points of a cluster (in a tie situation, we can assign the more density cluster or many other methods).

|improve this answer|||||
$\endgroup$
0
$\begingroup$

Clustering is not predictive.

A new data point could cause DBSCAN clusters to merge, so it could drastically change the result. So if you want to classify using clusters, it usually means you are solving the wrong problem.

If you really really need this (despite the warnings) just train any classifier on the cluster labels. For example, a SVM with RBF kernel could work very well for DBSCAN cluster (at least with Euclidean distance).

|improve this answer|||||
$\endgroup$
  • $\begingroup$ Thank you for the suggestion. Essentially, I would like to carry our clustering to divide data into regions to carry out a novel regression method. Then, I am using test data to evaluate the regression method. However, I would need to first assign each data point to a cluster before applying the regression coefficients. $\endgroup$ – Redman Mar 14 '18 at 17:27
  • $\begingroup$ I'd just apply all regressors, and choose the regression with the closest match. Regression is not that different from a classifier. $\endgroup$ – Has QUIT--Anony-Mousse Mar 14 '18 at 22:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.