学习简单线性回归的概念并利用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)。
给定数据集的散点图

现在,我们必须找到一条适合上述散点图的线,通过它我们可以预测任何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代码实现简单线性回归》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多科技周边知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
265 收藏
-
361 收藏
-
272 收藏
-
248 收藏
-
335 收藏
-
480 收藏
-
135 收藏
-
406 收藏
-
454 收藏
-
284 收藏
-
226 收藏
-
447 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习