This question already has an answer here:

Is there a classification of the type of data sets in machine learning problems? I am specifically interested in classification problems. I know a large number of algorithms like SVM, NN, Decision Trees, etc exist for classification problems.

I wonder if some properties of data set (like presence of natural clusters, number of training instances, type of input, etc) would give in-sights on which algorithm would work best for the problem.


marked as duplicate by kjetil b halvorsen, mdewey, gung, COOLSerdash, John Mar 16 '17 at 22:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


If you look at the UCI Machine learing repository you can see that there are a lot of datasets available. About 240 usable for some classification. But there is no rule of which algorithm works best for which dataset.

If you read the article Do we Need Hundreds of Classifiers to Solve Real World Classification Problems? you can see that the authors took about 179 classifiers from 17 different classification families and used all these against the UCI data sets. As always there is no free lunch which classifier works better or worse.

This is one of the reasons why some people like Max Kuhn (author of the caret package) says to run as many models as possible and select the best one. The best one is of course dependent on business needs or being able to explain how it works.


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