跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

用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)。 给定数据集的散点图 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 现在,我们必须找到一条适合上述散点图的线,通过它我们可以预测任何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')
可视化训练集结果

相关文章