There are so many ML algorithms with different levels of complexities, and it can be challenging to figure out which model to choose for your analysis. This guide is meant to help you decide which ML algorithm to pick for a business problem. In every my publication related to ML, I keep saying that the algorithms we apply must be appropriate for the task given the set of input features we have like memory size, data structure, etc. The common practice is to run a few models against 20% of your training data and pick the one with the highest accuracy score (as I demonstrated here). That being said, the high accuracy score might not always be the best measure for assessing your model performance, especially if you are dealing with imbalanced data. Choosing the appropriate algorithm is partially also a business question.

To start with, describe the output and the type of your problem -  classification, regression, clustering, or something else?

Below is a quick breakdown for common business cases for Supervised ML algorithms adapted from Executive Guide To AI:

## Linear regression

Highly interpretable, the standard method for modeling the past relationship between independent input variables and dependent output variables to help predict future values of the output variables.

• Optimize or estimate prices.

## Logistic regression

A model with some similarities to linear regression that’s used for classification tasks, meaning the output variable is binary rather than continuous.

• Classify customers based on how likely they are to repay a loan.

• Will a student pass or fail the class?

• Is email spam or not?

• Which samples are false or true?

• What is a person’s sex based on their height input?

A "sophisticated" logistic regression for nonlinear problems, where changes to the input variables do not result in proportional changes to the output variables.

• Predict client or revenue churn.

• the probability of sales.

## Decision tree

Highly interpretable classification or regression model that splits data-feature values into branches at decision nodes until a final decision output is made.

• Provide a decision framework for hiring new employees.

• Understand product attributes that make a product most likely to be purchased.

• Image classification.

• Decision analysis.

• Strategy analysis.

• In medicine for diagnosis.

• In psychology for behavioral thinking analysis.

## Naive Bayes

Classification technique that applies Bayes theorem, which allows the probability of an event to be calculated based on knowledge of factors that might affect that event.

• Analyze sentiment to assess product perception in the market.

• Create classifiers to filter spam emails.

## Support vector machine

A technique that’s typically used for classification but can be transformed to perform regression. It draws a division between classes that’s as wide as possible. It also can be generalized to solve nonlinear problems.

• Predict how many patients a hospital will need to serve in a time period.

• Predict how likely someone is to click on an online ad.

• Image or text classification.

• Face or speech recognition.

• Document categorization.

## Random forest

"Sophisticated Decision Tree". Classification or regression model that improves the accuracy of a simple decision tree by generating multiple decision trees and taking a majority vote of them to predict the output, which is either a continuous variable (for a regression problem) or a discrete variable (for classification).

• Predict call volume in call centers for staffing decisions.

• Predict power usage in an electrical- distribution grid.

Classification or regression technique that uses a multitude of models to come up with a decision but weighs them based on their accuracy in predicting the outcome. Achieves lower accuracy than deep learning

• Detect fraudulent activity in credit-card transactions.

• A simple, low-cost way to classify images (eg, recognize land usage from satellite images for climate-change models).

Another "Sophisticated Decision Tree". Classification or regression technique that generates decision trees sequentially, where each tree focuses on correcting the errors coming from the previous tree model. The final output is a combination of the results from all trees.

• Forecast product demand and inventory levels.

• Predict the price of cars based on their characteristics (eg, age and mileage).

## Simple neural network

Model in which artificial neurons (software-based calculators) make up an input layer, one or more hidden layers where calculations take place, and an output layer. It can be used to classify data or find the relationship between variables in regression problems.