## Introduction

Regression refers to a supervised learning technique that is fundamental in Machine Learning. Regression takes independent variables as an input with the aim of predicting an output. Regression models are useful in predicting how variables relate to each other.

LunchBoxML includes regression trainer and tester components using ML.NET allowing users to use this supervised learning method. After training, the regression models can be saved and reused for various testing scenarios.

## Examples

#### Linear Regression Curve Plot

This LunchBoxML example shows the use of regression trainers and testers to create a linear predictive curve using a collection of random points.

The example uses the X coordinate as the input label with a prediction for the Y coordinate as the output label. ML.NET’s SDCA Regression is used as the trainer.

#### Nonlinear Regression Curve Plot

This LunchBoxML example shows the use of regression trainers and testers to create a nonlinear predictive curve using a collection of random points.

The example uses the X coordinate as the input label with a prediction for the Y coordinate as the output label. ML.NET’s Fast Forest Regression is used as the trainer.

#### 3D Regression Surface Plot

This LunchBoxML example shows the use of regression trainers and testers to create a 3D surface plot using a collection of random points.

The example uses the X and Y coordinate as the input label with a prediction for the Z coordinate as the output label. ML.NET’s Light GMB Regression is used as the trainer.