Picture fitting a straight ruler to a curved line of data points, such as ice-cream sales that rise through spring and fall after summer. No matter where you place the ruler, it misses most of the points. The model is not memorizing anything; it simply can’t express the shape. That is underfitting, and scikit-learn’s classic example shows it with a straight line fit to a curve.
The symptom is that the error is high everywhere: on the training set and on held-out data. That separates it from overfitting, where training scores look great and new-data scores are poor. Google lists common causes: the model lacks useful inputs (features), training stopped too early or used too low a learning rate, regularization was set too strong, or the model is too small for the task.
The usual fixes run the opposite way to overfitting fixes: add better features, use a more flexible model, train longer, or loosen regularization. Finding the balance between the two failure modes is the core of fitting a model; see generalization. Comparing against a simple baseline helps too: a model that can’t beat a trivial rule is a strong hint something is underfitting or broken.
Sources
- Google Machine Learning Glossary: underfitting — Defines underfitting as poor predictive ability because the model hasn't captured the complexity of the training data, and lists causes such as the wrong features, too few epochs, too low a learning rate and too much regularization; checked October 24, 2026.
- scikit-learn: Underfitting vs. Overfitting — Fits polynomials of degree 1, 4 and 15 to a curved function: the straight line underfits, the highest degree overfits, and cross-validation scores show the difference; checked October 24, 2026.