Weight prediction from height – linear regression on real-world data
Here, we are predicting the weight of a man from his height by using linear regression on the following data:
Height in cm | Weight in kg |
180 | 75 |
174 | 71 |
184 | 83 |
168 | 63 |
178 | 70 |
172 | ? |
We would like to estimate the weight of a man given that his height is 172 cm.
Analysis
In the previous example of Fahrenheit and Celsius conversion, the data fitted the linear model perfectly. Thus, we could perform even a simple mathematical analysis (solving basic equations) to gain the conversion formula. Most data in the real world does not fit a model perfectly. For such an analysis, it would be good to find a model that fits the given data with minimal errors. We can use the least squares method to find such a linear model.
Input:
We put the data from the preceding table into the vectors and try to fit the linear model:
# source_code/6/weight_prediction.py
import numpy as np
from scipy.linalg import lstsq
height = np.array([180,174,184,168,178])
weight = np...