# Import data set
dataset <- read.csv("G:\\RStudio\\udemy\\ml\\Machine Learning AZ\\Part 2 - Regression\\Section 7 - Support Vector Regression (SVR)\\SVR\\Position_Salaries.csv")
dataset <- dataset[2:3]
head(dataset)
head(dataset, n = 10)
# Polynomial Regression
# taking care of missing values
# Test for missing values
sum(is.na(dataset$Level))
[1] 0
sum(is.na(dataset$Salary))
[1] 0
There is no missing values in the dataset.
# fitting the regression model to the dataset
# install.packages("e1071"")
library(e1071)
regressor <- svm(formula = Salary ~ ., data = dataset, type = "eps-regression")
# for svm classification you use c-classification
summary(regressor)
Call:
svm(formula = Salary ~ ., data = dataset, type = "eps-regression")
Parameters:
SVM-Type: eps-regression
SVM-Kernel: radial
cost: 1
gamma: 1
epsilon: 0.1
Number of Support Vectors: 6
# predicting a new result
y_pred = predict(regressor, data.frame(Level = 6.5))
y_pred
1
177861.1
# Fitting the regression model
# add a new column in the dataframe
# Plot
library(ggplot2)
ggplot() +
geom_point(aes(x = dataset$Level, y = dataset$Salary), colour = "red") +
geom_line(aes(x = dataset$Level, y = predict(regressor, newdata = dataset)), colour = "blue")+
ggtitle("Truth or Bluff (Regression Model)") +
xlab("Levels") +
ylab("Salary")

# visualizing polynomial regression
x_grid = seq(min(dataset$Level), max(dataset$Level), 0.1 )
ggplot() +
geom_point(aes(x = dataset$Level, y = dataset$Salary), colour = "red") +
geom_line(aes(x = x_grid, y = predict(regressor, newdata = data.frame(Level = x-grid))), colour = "blue")+
ggtitle("Truth or Bluff (Regression Model)") +
xlab("Levels") +
ylab("Salary")
LS0tDQp0aXRsZTogIk1MIFVzaW5nIFIgU2VjdGlvbiA3IFN1cHBvcnQgVmVjdG9yIFJlZ3Jlc3Npb24iDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCiMgSW1wb3J0IGRhdGEgc2V0DQpkYXRhc2V0IDwtICByZWFkLmNzdigiRzpcXFJTdHVkaW9cXHVkZW15XFxtbFxcTWFjaGluZSBMZWFybmluZyBBWlxcUGFydCAyIC0gUmVncmVzc2lvblxcU2VjdGlvbiA3IC0gU3VwcG9ydCBWZWN0b3IgUmVncmVzc2lvbiAoU1ZSKVxcU1ZSXFxQb3NpdGlvbl9TYWxhcmllcy5jc3YiKQ0KZGF0YXNldCA8LSAgZGF0YXNldFsyOjNdDQpoZWFkKGRhdGFzZXQpDQpoZWFkKGRhdGFzZXQsIG4gPSAxMCkNCmBgYA0KDQpgYGB7cn0NCiMgUG9seW5vbWlhbCBSZWdyZXNzaW9uDQojIHRha2luZyBjYXJlIG9mIG1pc3NpbmcgdmFsdWVzDQojIFRlc3QgZm9yIG1pc3NpbmcgdmFsdWVzDQpzdW0oaXMubmEoZGF0YXNldCRMZXZlbCkpDQpzdW0oaXMubmEoZGF0YXNldCRTYWxhcnkpKQ0KYGBgDQoNClRoZXJlIGlzIG5vIG1pc3NpbmcgdmFsdWVzIGluIHRoZSBkYXRhc2V0LiANCg0KYGBge3J9DQojIGZpdHRpbmcgdGhlIHJlZ3Jlc3Npb24gbW9kZWwgdG8gdGhlIGRhdGFzZXQNCiMgaW5zdGFsbC5wYWNrYWdlcygiZTEwNzEiIikNCmxpYnJhcnkoZTEwNzEpDQpyZWdyZXNzb3IgPC0gIHN2bShmb3JtdWxhID0gU2FsYXJ5IH4gLiwgZGF0YSA9IGRhdGFzZXQsIHR5cGUgPSAiZXBzLXJlZ3Jlc3Npb24iKQ0KIyBmb3Igc3ZtIGNsYXNzaWZpY2F0aW9uIHlvdSB1c2UgYy1jbGFzc2lmaWNhdGlvbg0Kc3VtbWFyeShyZWdyZXNzb3IpDQoNCmBgYA0KDQoNCmBgYHtyfQ0KIyBwcmVkaWN0aW5nIGEgbmV3IHJlc3VsdCANCnlfcHJlZCA9IHByZWRpY3QocmVncmVzc29yLCBkYXRhLmZyYW1lKExldmVsID0gNi41KSkNCnlfcHJlZA0KDQojIEZpdHRpbmcgdGhlICByZWdyZXNzaW9uIG1vZGVsDQojIGFkZCBhIG5ldyBjb2x1bW4gaW4gdGhlIGRhdGFmcmFtZQ0KDQojIFBsb3QNCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdCgpICsNCiAgZ2VvbV9wb2ludChhZXMoeCA9IGRhdGFzZXQkTGV2ZWwsIHkgPSBkYXRhc2V0JFNhbGFyeSksIGNvbG91ciA9ICJyZWQiKSArDQogIGdlb21fbGluZShhZXMoeCA9IGRhdGFzZXQkTGV2ZWwsIHkgPSBwcmVkaWN0KHJlZ3Jlc3NvciwgbmV3ZGF0YSA9IGRhdGFzZXQpKSwgY29sb3VyID0gImJsdWUiKSsNCiAgZ2d0aXRsZSgiVHJ1dGggb3IgQmx1ZmYgKFJlZ3Jlc3Npb24gTW9kZWwpIikgKw0KICB4bGFiKCJMZXZlbHMiKSArDQogIHlsYWIoIlNhbGFyeSIpDQoNCmBgYA0KDQoNCmBgYHtyfQ0KIyB2aXN1YWxpemluZyBwb2x5bm9taWFsIHJlZ3Jlc3Npb24NCg0KeF9ncmlkID0gc2VxKG1pbihkYXRhc2V0JExldmVsKSwgbWF4KGRhdGFzZXQkTGV2ZWwpLCAwLjEgKQ0KZ2dwbG90KCkgKw0KICBnZW9tX3BvaW50KGFlcyh4ID0gZGF0YXNldCRMZXZlbCwgeSA9IGRhdGFzZXQkU2FsYXJ5KSwgY29sb3VyID0gInJlZCIpICsNCiAgZ2VvbV9saW5lKGFlcyh4ID0geF9ncmlkLCB5ID0gcHJlZGljdChyZWdyZXNzb3IsIG5ld2RhdGEgPSBkYXRhLmZyYW1lKExldmVsID0geC1ncmlkKSkpLCBjb2xvdXIgPSAiYmx1ZSIpKw0KICBnZ3RpdGxlKCJUcnV0aCBvciBCbHVmZiAoUmVncmVzc2lvbiBNb2RlbCkiKSArDQogIHhsYWIoIkxldmVscyIpICsNCiAgeWxhYigiU2FsYXJ5IikNCmBgYA0KDQoNCg0KDQo=