I think classifiers are data dependent. Classifier that work well with a kind of data may perform poorly with another kind of data. There will always be need to invest time in trying various classifiers that might be suitable for your own kind of classification task(s). But if you are lucky to have similar data with some data well suited with known classifiers, good for you as your time investment will be little. Nonetheless, it is always good to try more than one classifier in arriving to a best classifier suited for your own kind of data but that may not be the best for my own kind of data. Wishing you all the best.
I studied different algorithms from WEKA toolkit, for example, SVM or NB and classification results are comparable (see my publication below). Probably, SVM is better for analytical classification and NB for probabilistic. That's why I wouldn't ask what the best classification algorithm is, but rather what features to extract or how to preprocess data.
I think the question about the feature selection and feature extraction is much more important. Performing well in these steps, the difference between several classification methods will be marginal. As a rough guideline for the choice of an appropriate classifier, see answers above.
Do you know the Cross Industry Standard Process for Data Mining (CRISP-DM)? It describes a process how to successfully infer information from data.
Unfortunately, there seems to be no one single classifier that is best for all types of data. Furthermore, for most of the classifiers available, there are parameters that can be configured, and the values of these parameters may significantly affect the overall performance of the classifier.
However, you might want to try out Support Vector Machines (SVM), which has been (empirically) shown to be quite competitive in many different classification problems.
In fact, that is the main challenge in supervised learning. Traditionally, a branch of Support Vector Machine (SVM) mostly works better in comparison with other methods. Since, SVM minimizes the risk of happening errors, the achieved results are better. As another alternative, deep learning is recently emerged in the learning problems. Besides, you must know the characteristics of your data in advance; i.e. high-dimensionality, sparsity, multi-view, multi-label, etc.Then, you can find a branch of mentioned methods for your application. I just introduce two references for learning basic concepts from mentioned methods:
An Introduction to Support Vector Machine and other kernel based methods, Nello Cristianini
Configurations and requirements in the DM field are changing time to time. Better check one algorithm each from functions, bayes, trees, rules etc. on your data and compare the results to come to a conclusion.
If there is a single answer for this, I would recommend a family of classifiers which is ensemble methods. Random Forest classifier and Gradient Boosting classifier are excellent example which showed high performance in different applications.
Since you are handling health care data, I assume it is important to explain/understand the decision. Decision tree based techniques provide understanding of data and aid reasoning for decisions, though the performance may not be up to your expectations. SVM, NN, kNN, ensemble methods have good predictive powers but they work as blackbox.
So, even if you deploy more accurate methods for field, I suggest you do look into the structure of the decision tree. You may focus on selective branches of the tree depending on your interest.
There are no best datamining/classifier algorithms for all databases !!!!!
Each database can have some particularities which can make that one method is better than others for that particular case.
You must try reasonable methods and see what happens, unles ypu use some recommendation technique for yousr specific database (meta-learning, recommedation).
In any case, ensamble methods (bagging, boosting, random forests, etc.) are good options as they decrease the variability of the estimation of the mean accuracy of each run.
Anyway, think that not only accuracy is a parameter to be taken into account, but interpretability of the model generated by the classifier (rule set, decision tree, ANN, etc.), scaling/generalization, etc.
It is depend to your dataset and what and how many of features which do you want to use in your classification algorithm, you can find many classification algorithms in the papers and Data mining books,
I propose you design your classifier (it may be Decision tree, SVM, ANN, Fuzzy Classifiers and etc. ) based on the concepts of features which you work.
As per my best knowledge in this field, I believe that there is no best algorithm for data classification as it is highly dependent of nature of your data and nature of your problem as well. However, personally, I greatly advise using Rule-based classification and KNN.
Others have said it all. You just need to dirty your hands in a pool of classification algorithms to come out with the appropriate for your own data set. SVM seems common in medical applications though.
Classification algorithms performance depends on dataset , for example medical data apply to classification algorithms best performance in case some other dataset performance not good,t