R|ML_code-线性回归(2)

简介: R|ML_code-线性回归(2)

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。本文简单的介绍一下简单线性回归。


Simple Linear Regression

Data Preprocessing

1 读入数据集

# Importing the dataset
dataset <- read.csv('studentscores.csv') #时间和得分之间的关系
  Hours Scores
1   2.5     21
2   5.1     47
3   3.2     27
4   8.5     75
5   3.5     30
6   1.5     20
plot(dataset$Hours,dataset$Scores) #

如图可见符合线性回归模型,根据训练集数据进行回归函数分析,并对测试数据进行预测。

2 数据预处理

首先按照上次分享的进行数据预处理  

R|ML_code-入门(1)

3 训练集和测试集

将数据按照4:1拆分,每一组分别包含自变量和因变量

# Splitting the dataset into the Training set and Test set
# install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Scores, SplitRatio = 1/4)
training_set <- subset(dataset, split == TRUE)
test_set <- subset(dataset, split == FALSE)
# Feature Scaling
# training_set <- scale(training_set)
# test_set <- scale(test_set)

4 模型拟合及预测

通过训练集进行模型拟合得到曲线,然后将测试集的X_test带入曲线中,得到预测结果y_pred,最后将预测结果y_pred与测试集中的y_test进行比较,确定预测是否准确。

# Fitting Simple Linear Regression to the Training set
regressor = lm(formula = Scores ~ Hours,
               data = training_set)
# Predicting the results
y_pred <- predict(regressor, newdata = test_set)

5 结果可视化

# Visualising the Training  results
library(ggplot2)
ggplot() +
geom_point(aes(x = training_set$Hours, y = training_set$Scores), colour = 'red') +
geom_line(aes(x = training_set$Hours, y = predict(regressor, newdata = training_set)), colour = 'blue') +
ggtitle('Scores vs Hours (Training set)') + xlab('Hours') + ylab('Scores')
# Visualising the Test  results
library(ggplot2)
ggplot() +
geom_point(aes(x = test_set$Hours, y = test_set$Scores), colour = 'red') +
geom_line(aes(x = training_set$Hours, y = predict(regressor, newdata = training_set)), colour = 'blue') +
ggtitle('Scores vs Hours (Test set)') + xlab('Hours') + ylab('Scores')

相关文章
|
机器学习/深度学习 自然语言处理 安全
中文竞技场(MS)大模型评测
分别从写作创作、代码相关、知识常识、中文游戏、人类价值观、NLP专业领域6大领域测评不同模型的效果。
97333 2
中文竞技场(MS)大模型评测
IDEA必备快捷键
IDEA必备快捷键
118 0
|
C语言 C++
C语言--每日选择题--Day25
C语言--每日选择题--Day25
C语言--每日选择题--Day25
|
存储 Kubernetes 关系型数据库
事半功倍:Helm的了解与使用
事半功倍:Helm的了解与使用
375 0
|
存储 前端开发 JavaScript
✨从延迟处理讲起,JavaScript 也能惰性编程?
我们从闭包起源开始、再到百变柯里化等一票高阶函数,再讲到纯函数、纯函数的组合以及简化演算;
|
自然语言处理 Python
NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)
NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)
NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)
|
设计模式 安全 Go
不惧面试:委托
不惧面试:委托
186 0
不惧面试:委托
|
关系型数据库 数据库
官宣丨恩墨学院正式获得阿里云数据库培训认证授权
恩墨学院获得阿里云数据库认证培训授权啦!详戳!
788 0
官宣丨恩墨学院正式获得阿里云数据库培训认证授权
C++类中int getX( ) const {return x;}含义
C++类中int getX( ) const {return x;}含义
324 0
|
容灾 分布式数据库 数据库
网商银行×OceanBase:首家云上银行的分布式数据库应用实践
网商银行在金融级分布式数据库OceanBase上的应用实践。
2370 0
下一篇
oss云网关配置