Explain with a case study how to implement polynomial regression in R.

461    Asked by bhagwatidubey in Data Science , Asked on Nov 9, 2019
Answered by bhagwati dubey

For polynomial regression, we have to read the data.

# Importing the dataset

dataset = read.csv('Position_Salaries.csv')

dataset = dataset[2:3]

Although the dataset is small, so we will not be splitting for training and testing

First we will fit using linear regression model

# Fitting Linear Regression to the dataset

lin_reg = lm(formula = Salary ~ .,

             data = dataset)

Now we will be fitting with polynomial model

# Fitting Polynomial Regression to the dataset

dataset$Level2 = dataset$Level^2

dataset$Level3 = dataset$Level^3

dataset$Level4 = dataset$Level^4

poly_reg = lm(formula = Salary ~ .,

              data = dataset)

Now we will visualize both linear and polynomial model

# Visualising the Linear Regression results

# install.packages('ggplot2')

library(ggplot2)

ggplot() +

  geom_point(aes(x = dataset$Level, y = dataset$Salary),

             colour = 'red') +

  geom_line(aes(x = dataset$Level, y = predict(lin_reg, newdata = dataset)),

            colour = 'blue') +

  ggtitle('Truth or Bluff (Linear Regression)') +

  xlab('Level') +

  ylab('Salary')

# Visualising the Polynomial Regression results

# install.packages('ggplot2')

library(ggplot2)

ggplot() +

  geom_point(aes(x = dataset$Level, y = dataset$Salary),

             colour = 'red') +

  geom_line(aes(x = dataset$Level, y = predict(poly_reg, newdata = dataset)),

            colour = 'blue') +

  ggtitle('Truth or Bluff (Polynomial Regression)') +

  xlab('Level') +

  ylab('Salary')

Now we will predict new result using both the models

# Predicting a new result with Linear Regression

predict(lin_reg, data.frame(Level = 6.5))

# Predicting a new result with Polynomial Regression

predict(poly_reg, data.frame(Level = 6.5,

                             Level2 = 6.5^2,

                             Level3 = 6.5^3,

                             Level4 = 6.5^4))



Your Answer

Interviews

Parent Categories