Steps for Polynomial Regression model training:
Importing the libraries
Importing the dataset
Training the Linear Regression model on the whole dataset
Training the Polynomial Regression model on the whole dataset
Visualising the Linear Regression results
Visualising the Polynomial Regression results
Visualising the Polynomial Regression results (for higher resolution and smoother curve)
Predicting a new result with Linear Regression
Predicting a new result with Polynomial Regression
Importing Libraries:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Importing data:
dataset = pd.read_csv('path-Position_Salaries.csv')
X = dataset.iloc(:, :-1).values
y = dataset.iloc(:, -1).values
print(X)
Training the Linear Regression model on the whole dataset:
from sklearn.linear_model import LinearRegression
lin_reg = LinearRegression()
lin_reg.fit(X,y)
Training Polynomial Regression model on whole dataset:
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)
Visualizing Linear Regression:
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()
Visualizing Polynomial Regression results:
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:
in_reg.predict([[6.5]])
Predicting a new result with Polynomial Regression:
lin_reg_2.predict(poly_reg.fit_transform([[6.5]]))