I want to cluster real estate data to determine average price patterns in city and rural regions. My data set contains size, number of dorms, bathrooms and coordinates of the properties.

Which would be the best clustering algorithm for this problem?

I’m familiar with k-means, but in this case I don’t think it would be the best approach because I don’t want to pre determine the number of clusters in data.

  • 4
    $\begingroup$ I may be totally wrong, but should "real state" be "real estate"? If so you can always edit your question and title. It seems the topic that you're interested in is Hedonic Price Modelling - an internet search should provide lots of information on HPM for property prices, though most will consider multiple regression analysis. $\endgroup$
    – Silverfish
    Dec 19, 2014 at 0:42
  • $\begingroup$ Thanks, I’m not a native English speaker. The HPM seems promising but this work is in the context of a web application, where the price estimates will need to be recalculated all the time as the data set changes. So I’m thinking more towards a simpler, machine learning, approach. $\endgroup$
    – R.D
    Dec 19, 2014 at 14:13

1 Answer 1


I would recommend you to try model-based clustering, as implemented in mclust R package. The approach, methods and software are described in the paper "mclust Version 4 for R: Normal Mixture Modeling for Model-Based Clustering, Classification, and Density Estimation" by Chris Fraley, Adrian E. Raftery, T. Brendan Murphy and Luca Scrucca: http://www.stat.washington.edu/research/reports/2012/tr597.pdf.

For a comprehensive and general (not necessarily model-based) overview of approaches and methods for determining an optimal number of clusters, please see this excellent answer on StackOverflow: https://stackoverflow.com/a/15376462/2872891.

  • $\begingroup$ @R.D: My pleasure. Glad to help. Feel free to accept, if there will be no better answers. $\endgroup$ Dec 23, 2014 at 0:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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