# Non-Parametric Models

This category groups posts on non-parametric models. Each post focuses on a specific algorithm. The emphasis is on understanding how these models actually work at a technical level. Here you will learn to build non-parametric models in Python from scratch.

## Implement the KNN Algorithm in Python from Scratch

Implement the KNN Algorithm in Python from Scratch What is the KNN Algorithm? K Nearest Neighbours (KNN) is a supervised machine learning algorithm that makes predictions based on the ‘closest‘ training data points to our point of interest, in data space. We evaluate the closest data points through the use of a distance metric, of …

## Implement Gradient Boosting Regression in Python from Scratch

Implement Gradient Boosting Regression in Python from Scratch Motivation for Gradient Boosting Regression in Python In the previous post, we covered how Gradient Boosting works, and outlined the general algorithm for this ensemble technique. Gradient Boosting was initially developed by Friedman 2001, and the general algorithm is referred to as Algorithm 1: Gradient_Boost, in that paper. Furthermore, …

## Understanding the Gradient Boosting Regressor Algorithm

Understanding the Gradient Boosting Regressor Algorithm Motivation: Why Gradient Boosting Regressors? The Gradient Boosting Regressor is another variant of the boosting ensemble technique that was introduced in a previous article. Development of gradient boosting followed that of Adaboost. In an effort to explain how Adaboost works, it was noted that the boosting procedure can be …

## A Complete Introduction to Cross Validation in Machine Learning

A Complete Introduction to Cross Validation in Machine Learning What is Cross Validation? A natural question to ask, when building any predictive model, is how good are the predictions? Having a clear, quantitative measure for the expected model performance, is a key element to any machine learning project.   Cross validation is a family of …

## Build a Random Forest in Python from Scratch

Build a Random Forest in Python from Scratch Motivation to Build a Random Forest Model For this post, we will Build a Random Forest in Python from scratch. I will include examples in classification and regression. Bagging ensembles are an approach to reduce variance, and thereby increase model performance. In this algorithm, multiple weak learner models produce predictions …

## Implement the Bootstrap Method in Python from Scratch

Implement the Bootstrap Method in Python from Scratch Motivation to Implement the Bootstrap Method In this post, we will implement the Bootstrap Method in Python from scratch. A key question we can ask, regarding any modelling effort, is the uncertainty in our estimates. This applies both to the learned model parameters, as well as the …

## Build a Decision Tree in Python from Scratch

Build a Decision Tree in Python from Scratch Motivation to Build a Decision Tree Model In this post, we will build a Decision Tree model in Python from scratch. Both classification and regression examples will be included. Decision trees comprise a family of non-parametric1 supervised learning models that are based upon simple boolean decision rules to …