# How many algorithms an analyst should know?

#1

Hi,
I have started learning various algorithms and methods to solve business problems but whenever I search methods to solve a specific problem, there is good number of methods people are discussing. Can you guide me with a list of must know algorithms or methods a successful analyst should know?

Thanks,
Imran

#2

@Imran

Very relevant question for a lot of starters! Also, before I start, this is a very subjective question, so there is no right or wrong answer here.

You should start by learning basics of statistics, distributions, probability and Hypothesis testing. Once you have done so, you can then look at understanding following algorithms:

1. ANOVA
2. Linear Regression
3. Logistic Regression
4. Decision Trees & Random Forests
5. Clustering - k-means and Hierarchical
6. Time Series algorithms and modeling

Once you have covered these algorithms, you will know at least one way to handle any modeling problem. You can then add algorithms one by one to your repository over time. Here is a good reference to keep in mind:

#3

@kunal

Thanks, it is very useful.

#4

Imran,

I was in a very similar shoes till 2 years back. Here is what I did in order to transition into a more “data science-y” role.

Pre-work:
Before starting the journey on learning algorithms, you should make sure you have done following steps:

1. Choose one stack you would specialize on. I chose R and it paid off well. I think today, you can choose between SAS / R or Python - all of them are widely used and are flexible enough.
2. Once you have zeroed on a tool / stack, spend some time learning nitty-gritties of that tool. Foe example, if it is SAS - master base SAS first. If it is Python - master the data structures first.
3. Next, look at some of the operations done commonly for data manipulation and massaging - for example imputation of missing values, creating segmentation and plots, reading statistical summaries.

Learning the algorithms:
Start with the algorithms mentioned by @kunal Kunal, but I used a different approach, which helped me well. Instead of trying several different types of problems (e.g. Regression, classificaton, clustering), I did them one at a time. While I was working at the problem, I learnt all the related algorithms and played around with them to see how to they compare against each other. That helped me a lot.

Just to make it clear, I am saying take up one branch of the diagram attached by Kunal at a time and learn the algorithms in that branch. That gave me far better understanding of the algorithms.

Hope this helps.

J

#5

Forecasting algorithms

Basic methods
Moving average, weighted moving average, single, Double exponential smoothing, winter holts method