From the different Data Mining tasks, I want to train the Classification.

For that, I:

  • Took this dataset (can be used as an example for the answer).

  • Got to know the data (data objects, attribute types, statistical descripton, saw some data visualizations of my attributes) and have done pre-processing (data cleaning, such as removing NAs).

Now, before analyzing the computational results, I want to select the techniques to use. And, from the whole range of Classification techniques (such as: Decision trees, RandomForest, XGBoost, SVM, KNN, SGD, MLP, Gaussian Naive Bayes,...) which framework should one use to select the most appropriate classification technique?


From what I got, this is a prominent question that comes up all the time.

In order to answer it, I had to try out different models (Decision Trees, Random Forest, K-Nearest Neighboor, Support Vector Machines and Artificial Neural Networks) and see which one performed best.

It is also important to select the best evaluation metrics. As the dataset above is "multi-class", the Cohen's Kappa statistics is a good metric.

On a first place, I have computed the results using Weka and KNIME and the technique that gave me the highest Cohen's Kappa was a Decision Tree in Weka (using the training set). In Weka, with cross-validation, the Cohen's Kappa value was also over 0.9.

Comparing only the results obtained using KNIME, the best one was a Random Forest (0.897).

Note: If one is using Scikit-Learn, this cheatsheet may be of help to decide which technique to use.


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.