How to build Polynomial Regression Model in Sklearn

02.15.2021

Intro

When fitting a model, there are often interactions between multiple variables. For example, if we are predicted disease, excercise and diet together may work together to impact the result of health. For this, we will need to model interaction effects. In this article, we will learn how to build a polynomial regression model in Sklearn.

Creating a Polynomial Regression Model

To fit a polynomial model, we use the PolynomialFeatures class from the preprocessing module. We first create an instance of the class. Next, we call the fit_tranform method to transform our x (features) to have interaction effects. We then pass this transformation to our linear regression model as normal.

from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.preprocessing import PolynomialFeatures

boston = load_boston()
features = boston.data
target = boston.target

# poly model
interaction = PolynomialFeatures(
    degree = 3, 
	include_bias = False, interaction_only = True)
interaction_x = interaction.fit_transform(features)

# linear regression
regression = LinearRegression()

# Fit the linear regression
model = regression.fit(interaction_x, target)