Feature engineering is the process of designing new features by transforming or combining original features to help the learning algorithm make better predictions.
It uses your knowledge and intuition about the problem to create more predictive features.
| Feature | Description |
|---|---|
| $x_1$ | Frontage (width of lot) |
| $x_2$ | Depth of lot |
Original model:
$$ f_{\vec{w}, b}(\vec{x}) = w_1 x_1 + w_2 x_2 + b $$
This might work okay, but can we do better?
You might realize that the area of the land is more predictive of price than width and depth separately.
$$ \text{Area} = \text{Frontage} \times \text{Depth} $$
Create a new feature:
$$ x_3 = x_1 \times x_2 \quad \text{(area)} $$
New model:
$$ f_{\vec{w}, b}(\vec{x}) = w_1 x_1 + w_2 x_2 + w_3 x_3 + b $$
Now the algorithm can learn which matters most: