Skip to content


MLU-Explain Logo & Title

This repository holds the code used for Amazon's MLU-Explain educational articles on machine learning. MLU-Explain exists to illustrate core machine learning concepts using visual essays in a fun, informative, and accessible manner.

This material exists as supplementary educational material for Machine Learning University (MLU), which provides anybody, anywhere, at any time access to the same machine learning courses used to train Amazon’s own developers on machine learning.


Linear Regression

Linear Regression Article Image

Title: Linear Regression

Summary: A visual, interactive explanation of linear regression for machine learning.

Code: /code/linear-regression/

Authors: Jared Wilber

Logistic Regression

Logistic Regression Article Image

Title: Logistic Regression

Summary: Learn about how logistic regression can be used for binary classification through an interactive example.

Code: /code/logistic-regression/

Authors: Erin Bugbee, Jared Wilber


ROC & AUC Article Preview

Title: ROC & AUC

Summary: A visual explanation of the Receiver Operating Characteristic Curve (ROC) curve, how it works with a live interactive example, and how it relates to Area Under The Curve (AUC).

Code: /code/roc-auc/

Authors: Jared Wilber

Train, Test, And Validation Sets

Train, Test, And Validation Sets Article Image

Title: Train, Test, and Validation Sets

Summary: Learn why it is best practice to split your data into training, testing, and validation sets, and explore the utility of each with a live machine learning model.

Code: /code/train-test-validation/

Authors: Jared Wilber, Brent Werness

Precision & Recall

Precision & Recall Article Preview

Title: Precision & Recall

Summary: When it comes to evaluating classification models, accuracy is often a poor metric. This article covers two common alternatives, Precision and Recall, as well as the F1-score and Confusion Matrices.

Code: /code/precision-recall/

Authors: Jared Wilber

Random Forest

Random Forest Article Image

Title: Random Forest

Summary: Learn how the majority vote and well-placed randomness can extend the decision tree model to one of machine learning's most widely-used algorithms, the Random Forest.

Code: /code/random-forest/

Authors: Jenny Yeon, Jared Wilber

Decision Trees

Decision Trees Article Image

Title: Decision Trees

Summary: Explore one of machine learning's most popular supervised algorithms: the Decision Tree. Learn how the tree makes its splits, the concepts of Entropy and Information Gain, and why going too deep is problematic.

Code: /code/decision-tree/

Authors: Jared Wilber, Lucía Santamaría

Bias Variance Tradeoff

Bias Variance Tradeoff Article Image

Title: The Bias Variance Tradeoff

Summary: Understand the tradeoff between under- and over-fitting models, how it relates to bias and variance, and explore interactive examples related to LASSO and KNN.

Code: /code/bias-variance/

Authors: Jared Wilber, Brent Werness

Double Descent: A Visual Introduction

Double Descent Article Image

Title: Double Descent

Summary: Meet the double descent phenomenon in modern machine learning: what it is, how it relates to the bias-variance tradeoff, the importance of the interpolation regime, and a theory of what lies behind.

Code: /code/double-descent/

Authors: Jared Wilber, Brent Werness

Double Descent 2: A Mathematical Explanation

Double Descent 2 Article Image

Title: Double Descent 2

Summary: Deepen your understanding of the double descent phenomenon. The article builds on the cubic spline example introduced in Double Descent 1, describing in mathematical detail what is happening.

Code: /code/double-descent2/

Authors: Brent Werness, Jared Wilber

Running Locally

This article holds code for each articles, as well as the generated builds from the code (e.g. the static assets comprising the articles).

First, clone this repo.

git clone

Next, cd into the article of interest and install the required libraries.

# e.g. bias variance tradeoff article
cd bias-variance
# install libraries
npm install

Now, to run the development version:

npm start

To build and view the static assests:

# build assets
npm run build
# view generated article
cd dist/
# run local server
python3 -m http.server # or just `live-server`

License Summary

This open source articles are made available under the Creative Commons Attribution-ShareAlike 4.0 International License. See LICENSE file.

The sample and reference code within this open source book is made available under a modified MIT license. See the LICENSE-SAMPLECODE file.