There is now tons of material available on how to do certain (most popular) ML tasks and what kind of output you can expect.

However I found that resources on how to select appropriate ML task/approach given specific problem are very coarse and scarce. I can't find anything better than "use rnn/lstm for time series prediction" or "k-means for classification"

Are there publications/Internet resources available that dedicated purely to teaching how to

  • define you problem in a way that would suit specific ML approach
  • select best ML model within the approach?

4 Answers 4


This should help you. I have used it many times. It's very straightforward.


enter image description here


Short answer:

These two books are really good reference books for what you are looking for:

  • "Introduction to data mining" - Tan, Steinbach, Karpatne, Kumar
  • "Pattern Recognition and Machine Learning" - Bishop

Nevertheless you'll need a strong mathematical fundation to understand the advanced stuff.

For testing and experimenting I would recommend using the scikit learn library for python and reading its documentation (https://scikit-learn.org/stable/index.html)

Long answer:

There are whole degree programms dedicated to the topics you're mentioning and there is no final or standard approach for selecting ML methods and/or algorithms.

The books I put in the short answer give you the understanding of how different ML approaches work so that you can apply them and modify then acoording to your needs.

From experience I can tell you that choosing the best ML alg. that fits your needs is very dependent of your data and your task. Sometimes (many times) you end up testing a bunch of different algs. and choosing the one that gives you the best results according to your metrics, the computational resources at your disposition and your knowledge.


All goes down to analytical thinking and knowing each algorithms domain driving toward to algorithm assumptions and conditions (that part is answered from understanding data or simply said EDA).

I listed below what I look for/try to answer during data exploration and does help:

  • What you want to do with your data? Business problem formulation.
  • understanding your data, this is the most intensive. This step, for a good scientist, would provide a candidate “list” of algorithms that can be applied.
  • learning paradigm or domain.
  • and problem type.

No model is perfect. Do EDA, know pros and cons of models. 1 shortlist models and start with the simplest one

  1. perform error analysis to improve accuracy

Linear classification is poor where relationships between target and features is non linear . You may choose Decision Tree or NN

Decision Tree is prone to overfit. So remember to use right pruning technique.

Navier bayes does not learn context. Gensim NN approach is better where semantic is required.

When data has lot of variety and richness, and unusual patterns , ensemble models are more appropriate.

So selection of model depends on your problem statement, EDA. Even after selection, you need to handle the shortcomings of model.

New contributor
amol goel is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • $\begingroup$ Consider question: how to find out which exercise types build what muscle groups. Your answer: spend 50 yrs trying each gym device with different weights and intensity. $\endgroup$ 2 days ago

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.