Would you like to see this cheatsheet in your native language? You can help us translating it on GitHub!

CS 229 - Machine Learning
English


Machine Learning tips and tricks cheatsheet
Star

By Afshine Amidi and Shervine Amidi

Classification metrics

In a context of a binary classification, here are the main metrics that are important to track in order to assess the performance of the model.

Confusion matrix ― The confusion matrix is used to have a more complete picture when assessing the performance of a model. It is defined as follows:

Predicted class
+ -
Actual class + TP
True Positives
FN
False Negatives
Type II error
- FP
False Positives
Type I error
TN
True Negatives

Main metrics ― The following metrics are commonly used to assess the performance of classification models:

Metric Formula Interpretation
Accuracy $\displaystyle\frac{\textrm{TP}+\textrm{TN}}{\textrm{TP}+\textrm{TN}+\textrm{FP}+\textrm{FN}}$ Overall performance of model
Precision $\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FP}}$ How accurate the positive predictions are
Recall
Sensitivity
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Coverage of actual positive sample
Specificity $\displaystyle\frac{\textrm{TN}}{\textrm{TN}+\textrm{FP}}$ Coverage of actual negative sample
F1 score $\displaystyle\frac{2\textrm{TP}}{2\textrm{TP}+\textrm{FP}+\textrm{FN}}$ Hybrid metric useful for unbalanced classes

ROC ― The receiver operating curve, also noted ROC, is the plot of TPR versus FPR by varying the threshold. These metrics are are summed up in the table below:

Metric Formula Equivalent
True Positive Rate
TPR
$\displaystyle\frac{\textrm{TP}}{\textrm{TP}+\textrm{FN}}$ Recall, sensitivity
False Positive Rate
FPR
$\displaystyle\frac{\textrm{FP}}{\textrm{TN}+\textrm{FP}}$ 1-specificity

AUC ― The area under the receiving operating curve, also noted AUC or AUROC, is the area below the ROC as shown in the following figure:


ROC AUC

Regression metrics

Basic metrics ― Given a regression model $f$, the following metrics are commonly used to assess the performance of the model:

Total sum of squares Explained sum of squares Residual sum of squares
$\displaystyle\textrm{SS}_{\textrm{tot}}=\sum_{i=1}^m(y_i-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{reg}}=\sum_{i=1}^m(f(x_i)-\overline{y})^2$ $\displaystyle\textrm{SS}_{\textrm{res}}=\sum_{i=1}^m(y_i-f(x_i))^2$

Coefficient of determination ― The coefficient of determination, often noted $R^2$ or $r^2$, provides a measure of how well the observed outcomes are replicated by the model and is defined as follows:

\[\boxed{R^2=1-\frac{\textrm{SS}_\textrm{res}}{\textrm{SS}_\textrm{tot}}}\]

Main metrics ― The following metrics are commonly used to assess the performance of regression models, by taking into account the number of variables $n$ that they take into consideration:

Mallow's Cp AIC BIC Adjusted $R^2$
$\displaystyle\frac{\textrm{SS}_{\textrm{res}}+2(n+1)\widehat{\sigma}^2}{m}$ $\displaystyle2\Big[(n+2)-\log(L)\Big]$ $\displaystyle\log(m)(n+2)-2\log(L)$ $\displaystyle1-\frac{(1-R^2)(m-1)}{m-n-1}$

where $L$ is the likelihood and $\widehat{\sigma}^2$ is an estimate of the variance associated with each response.


Model selection

Vocabulary ― When selecting a model, we distinguish 3 different parts of the data that we have as follows:

Training set Validation set Testing set
• Model is trained
• Usually 80% of the dataset
• Model is assessed
• Usually 20% of the dataset
• Also called hold-out or development set
• Model gives predictions
• Unseen data

Once the model has been chosen, it is trained on the entire dataset and tested on the unseen test set. These are represented in the figure below:

Partition of the dataset

Cross-validation ― Cross-validation, also noted CV, is a method that is used to select a model that does not rely too much on the initial training set. The different types are summed up in the table below:

k-fold Leave-p-out
• Training on $k-1$ folds and assessment on the remaining one
• Generally $k=5$ or $10$
• Training on $n-p$ observations and assessment on the $p$ remaining ones
• Case $p=1$ is called leave-one-out

The most commonly used method is called $k$-fold cross-validation and splits the training data into $k$ folds to validate the model on one fold while training the model on the $k-1$ other folds, all of this $k$ times. The error is then averaged over the $k$ folds and is named cross-validation error.

Cross-validation

Regularization ― The regularization procedure aims at avoiding the model to overfit the data and thus deals with high variance issues. The following table sums up the different types of commonly used regularization techniques:

LASSO Ridge Elastic Net
• Shrinks coefficients to 0
• Good for variable selection
Makes coefficients smaller Tradeoff between variable selection and small coefficients
Lasso Ridge Elastic Net
$...+\lambda||\theta||_1$
$\lambda\in\mathbb{R}$
$...+\lambda||\theta||_2^2$
$\lambda\in\mathbb{R}$
$...+\lambda\Big[(1-\alpha)||\theta||_1+\alpha||\theta||_2^2\Big]$
$\lambda\in\mathbb{R},\alpha\in[0,1]$

Diagnostics

Bias ― The bias of a model is the difference between the expected prediction and the correct model that we try to predict for given data points.


Variance ― The variance of a model is the variability of the model prediction for given data points.


Bias/variance tradeoff ― The simpler the model, the higher the bias, and the more complex the model, the higher the variance.


Underfitting Just right Overfitting
Symptoms • High training error
• Training error close to test error
• High bias
• Training error slightly lower than test error • Very low training error
• Training error much lower than test error
• High variance
Regression illustration Underfit in regression Right fit in regression Overfit in regression
Classification illustration Underfit in classification Right fit in classification Overfit in classification
Deep learning illustration Underfit in deep learning Right fit in deep learning Overfit in deep learning
Possible remedies • Complexify model
• Add more features
• Train longer
• Perform regularization
• Get more data

Error analysis ― Error analysis is analyzing the root cause of the difference in performance between the current and the perfect models.


Ablative analysis ― Ablative analysis is analyzing the root cause of the difference in performance between the current and the baseline models.