登录
首页 >  科技周边 >  人工智能

学习简单线性回归的概念并利用R代码实现简单线性回归

来源:网易伏羲

时间:2024-02-03 14:15:08 240浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《学习简单线性回归的概念并利用R代码实现简单线性回归》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

简单线性回归是一种用于研究两个连续变量之间关系的统计方法。其中,一个变量被称为自变量(x),另一个变量被称为因变量(y)。我们假设这两个变量之间存在线性关系,并试图找到一个线性函数,以自变量的特征来准确预测因变量的响应值(y)。通过拟合一条直线,我们可以得到预测的结果。这个预测模型可以用来理解和预测因变量如何随着自变量的变化而变化。

为了理解这个概念,我们可以借助一个薪水数据集,其中包含了每个自变量(经验年限)对应的因变量(薪水)的值。

薪资数据集

年薪和经验

1.1 39343.00

1.3 46205.00

1.5 37731.00

2.0 43525.00

2.2 39891.00

2.9 56642.00

3.0 60150.00

3.2 54445.00

3.2 64445.00

3.7 57189.00

出于一般目的,我们定义:

x作为特征向量,即x=[x_1,x_2,....,x_n],

y作为响应向量,即y=[y_1,y_2,....,y_n]

对于n次观察(在上面的示例中,n=10)。

给定数据集的散点图

简单线性回归概念 R代码实现简单线性回归

现在,我们必须找到一条适合上述散点图的线,通过它我们可以预测任何y值或任何x值的响应。

最适合的线称为回归线。

以下R代码用于实现简单线性回归

dataset=read.csv('salary.csv')
install.packages('caTools')
library(caTools)
split=sample.split(dataset$Salary,SplitRatio=0.7)
trainingset=subset(dataset,split==TRUE)
testset=subset(dataset,split==FALSE)
lm.r=lm(formula=Salary~YearsExperience,
data=trainingset)
coef(lm.r)
ypred=predict(lm.r,newdata=testset)
install.packages("ggplot2")
library(ggplot2)
ggplot()+geom_point(aes(x=trainingset$YearsExperience,
y=trainingset$Salary),colour='red')+
geom_line(aes(x=trainingset$YearsExperience,
y=predict(lm.r,newdata=trainingset)),colour='blue')+
ggtitle('Salary vs Experience(Training set)')+
xlab('Years of experience')+
ylab('Salary')
ggplot()+
geom_point(aes(x=testset$YearsExperience,y=testset$Salary),
colour='red')+
geom_line(aes(x=trainingset$YearsExperience,
y=predict(lm.r,newdata=trainingset)),
colour='blue')+
ggtitle('Salary vs Experience(Test set)')+
xlab('Years of experience')+
ylab('Salary')

可视化训练集结果

简单线性回归概念 R代码实现简单线性回归

好了,本文到此结束,带大家了解了《学习简单线性回归的概念并利用R代码实现简单线性回归》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多科技周边知识!

声明:本文转载于:网易伏羲 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>