Implementation of Linear and Polynomial Regression in Python – Machine Learning
In this tutorial, we will understand the Implementation of Polynomial Linear Regression in Python – Machine Learning.
Importing the Necessary libraries
To begin the implementation first we will import the necessary libraries like NumPy for numerical computation, MatPlotlib for visualization, and pandas for reading the dataset.
import numpy as np import matplotlib.pyplot as plt import pandas as pd
Importing the dataset
Next, we import or read the dataset. Click here to download the Position_Salaries dataset used in this implementation. The dataset has two features Position, Level, and Salary. After reading the dataset, divide the dataset into concepts and targets. Store the concepts into X and targets into y.
dataset = pd.read_csv('Position_Salaries.csv') X = dataset.iloc[:, 1:-1].values y = dataset.iloc[:, -1].values
Next, display the first five rows of the salary dataset using head() function from pandas.
dataset.head()
Position | Level | Salary | |
0 | Business Analyst | 1 | 45000 |
---|---|---|---|
1 | Junior Consultant | 2 | 50000 |
2 | Senior Consultant | 3 | 60000 |
3 | Manager | 4 | 80000 |
4 | Country Manager | 5 | 110000 |
Training the Linear Regression model on the Whole dataset
A Linear regression algorithm is used to create a model. A LinearRegression function is imported from sklearn.linear_model library.
from sklearn.linear_model import LinearRegression lin_reg = LinearRegression() lin_reg.fit(X, y)
Linear Regression classifier model
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
Training the Polynomial Regression model on the Whole dataset
A polynomial regression algorithm is used to create a model.
from sklearn.preprocessing import PolynomialFeatures poly_reg = PolynomialFeatures(degree = 4) X_poly = poly_reg.fit_transform(X) lin_reg_2 = LinearRegression() lin_reg_2.fit(X_poly, y)
Polynomial Regression classifier model
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
Visualising the Linear Regression results
Here scatter plot is used to visualize the results. The title of the plot is set to Truth or Bluff (Linear Regression), xlabel is set to Position Level , and ylabel is set to Salary.
plt.scatter(X, y, color = 'red') plt.plot(X, lin_reg.predict(X), color = 'blue') plt.title('Truth or Bluff (Linear Regression)') plt.xlabel('Position Level') plt.ylabel('Salary') plt.show()
Visualising the Polynomial Regression results
The title of the plot is set to Truth or Bluff (Polynomial Regression), xlabel is set to Position level, and ylabel is set to Salary.
plt.scatter(X, y, color = 'red') plt.plot(X, lin_reg_2.predict(poly_reg.fit_transform(X)), color = 'blue') plt.title('Truth or Bluff (Polynomial Regression)') plt.xlabel('Position level') plt.ylabel('Salary') plt.show()
Visualising the Polynomial Regression results (for higher resolution and smoother curve)
X_grid = np.arange(min(X), max(X), 0.1) X_grid = X_grid.reshape((len(X_grid), 1)) plt.scatter(X, y, color = 'red') plt.plot(X_grid, lin_reg_2.predict(poly_reg.fit_transform(X_grid)), color = 'blue') plt.title('Truth or Bluff (Polynomial Regression)') plt.xlabel('Position level') plt.ylabel('Salary') plt.show()
Predicting a new result with Linear Regression
lin_reg.predict([[6.5]])
Output:
array([330378.78787879])
Predicting a new result with Polynomial Regression
lin_reg_2.predict(poly_reg.fit_transform([[6.5]]))
Output:
array([158862.45265157])
Summary:
In this tutorial, we understood, the Implementation of Linear and Polynomial Regression in Python. If you like the tutorial share it with your friends. Like the Facebook page for regular updates and YouTube channel for video tutorials.