Importing the dataset
dataset = read.csv("C:/RClass/Salary_Data.csv")
Splitting the dataset into the Training set and Test set
# install.packages('caTools')
library(caTools)
## Warning: package 'caTools' was built under R version 4.1.3
set.seed(2023)
split = sample.split(dataset$Salary, SplitRatio = 2/3)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)
Fitting Simple Linear Regression to the Training set
regressor = lm(formula = Salary ~ YearsExperience,
data = training_set)
summary(regressor)
##
## Call:
## lm(formula = Salary ~ YearsExperience, data = training_set)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7301.7 -3219.4 -916.9 2915.8 8645.2
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 26616.2 2176.5 12.23 3.72e-10 ***
## YearsExperience 9119.9 396.2 23.02 8.38e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5128 on 18 degrees of freedom
## Multiple R-squared: 0.9672, Adjusted R-squared: 0.9653
## F-statistic: 530 on 1 and 18 DF, p-value: 8.384e-15
Predicting the Test set results
y_pred = predict(regressor, newdata = test_set)
Visualizing the Training set results
# install.packages('ggplot2')
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.3
ggplot() +
geom_point(aes(x = training_set$YearsExperience, y = training_set$Salary),
color = 'red') +
geom_line(aes(x = training_set$YearsExperience, y = predict(regressor, newdata = training_set)),
color = 'blue') +
ggtitle('Salary vs. Experience (Training set)') +
xlab('Years of Experience') +
ylab('Salary')
