跟我一起数据挖掘(16)——R中的线性回归

简介:

一元回归

我们使用R中自带的数据集trees。其中包含了Volume(体积)、Girth(树围)、Height(树高)这三个变量。我们需要看的是体积和树转的关系。

查看数据集:

> head(trees)
  Girth Height Volume
1   8.3     70   10.3
2   8.6     65   10.3
3   8.8     63   10.2
4  10.5     72   16.4
5  10.7     81   18.8
6  10.8     83   19.7

首先使用plot,看一下这两个变量的分布情况

plot(Volume~Girth,data=trees,pch=16,col='red')

model=lm(Volume~Girth,data=trees)
abline(model,lty=2)

建立模型并且在模型上画线,使用summary看一样模型的情况

> summary(model)

Call:
lm(formula = Volume ~ Girth, data = trees)

Residuals:
   Min     1Q Median     3Q    Max 
-8.065 -3.107  0.152  3.495  9.587 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -36.9435     3.3651  -10.98 7.62e-12 ***
Girth         5.0659     0.2474   20.48  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.252 on 29 degrees of freedom
Multiple R-squared:  0.9353,    Adjusted R-squared:  0.9331 
F-statistic: 419.4 on 1 and 29 DF,  p-value: < 2.2e-16

从summary的结果来看,模型的效果非常好。

查看预测区间

> plot(sqrt(Volume)~Girth,data=trees,pch=16,col='red')
> model2=lm(sqrt(Volume)~Girth,data=trees)
> data.pre=data.frame(predict(model2,interval='prediction'))
> lines(data.pre$lwr~trees$Girth,col='blue',lty=2)
> lines(data.pre$upr~trees$Girth,col='blue',lty=2)

多元线性回归

利用iris数据集,第一列为萼片的长度,第二列为萼片的宽度,第三列为花瓣的长度,第四列为花瓣的宽度,第五列表示种类。

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

我们拿到数据集后可以先通过肉眼观察数据是否线性相关,可以通过以下代码完成:

x=iris[which(iris$Species=="setosa"),1:4]
plot(x)

得到图形中画红框的部分,可以看到可以用直线拟合,分布很规律,所以此两列可以建立线性模型。

目录
相关文章
|
7月前
|
数据挖掘
【数据挖掘】多元线性回归对波士顿房价分析实战(超详细 附源码)
【数据挖掘】多元线性回归对波士顿房价分析实战(超详细 附源码)
288 0
|
7月前
|
数据挖掘
【数据挖掘】一元线性回归在鸢尾花数据集中实战预测(超详细 附源码)
【数据挖掘】一元线性回归在鸢尾花数据集中实战预测(超详细 附源码)
238 0
|
7月前
|
数据挖掘
【数据挖掘】一元线性回归预测房屋面积与房价间关系实战(附源码 超详细)
【数据挖掘】一元线性回归预测房屋面积与房价间关系实战(附源码 超详细)
117 0
|
机器学习/深度学习 数据挖掘 TensorFlow
数据挖掘从入门到放弃(七):TensorFlow 和 keras 实现线性回归 LinearRegression
数据挖掘从入门到放弃(七):TensorFlow 和 keras 实现线性回归 LinearRegression
202 0
|
机器学习/深度学习 自然语言处理 算法
数据挖掘从入门到放弃(一):线性回归和逻辑回归
数据挖掘从入门到放弃(一):线性回归和逻辑回归
192 0
|
机器学习/深度学习 算法 大数据
大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 线性回归分析算法)
原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 线性回归分析算法) 前言 此篇为微软系列挖掘算法的最后一篇了,完整该篇之后,微软在商业智能这块提供的一系列挖掘算法我们就算总结完成了,在此系列中涵盖了微软在商业智能(BI)模块系统所能提供的所有挖掘算法,当然此框架完全可以自己扩充,可以自定义挖掘算法,不过目前此系列中还不涉及,只涉及微软提供的算法,当然这些算法已经基本涵盖大部分的商业数据挖掘的应用场景,也就是说熟练了这些算法大部分的应用场景都能游刃有余的解决,每篇算法总结包含:算法原理、算法特点、应用场景以及具体的操作详细步骤。
1468 0

热门文章

最新文章