Use of scikit-learn instead of statsmodels

To see how regression is handled using scikit-learn (instead of statsmodels), have a look at this notebook and its associated dataset.

There are many similarities between them, because both separate the concepts of learning (from training data) and predicting (using new data).

The main advantage of scikit-learn is the focus on standardised APIs, which makes it much easier to pick up new functionality, across tasks like regression, classification, dimensionality reduction, metrics, etc.