R语言实现数据挖掘

本文介绍了使用R语言进行数据挖掘的各种方法,包括一元线性回归、多元线性回归、Logistic回归、泊松回归、关联规则、决策树、机器集成学习(如boosting和baging)以及随机森林。通过实例分析,展示了如何评估和优化模型,以及如何根据模型预测结果。
摘要由CSDN通过智能技术生成

 这一周集中学习R实现的一些算法包,把一些简单的用法归结在这里,后面将继续学习。使用这些包的前提是要对算法熟悉,还好我去年看过几本算法的书,以下为总结:

1、一元线性回归

2、多元线性回归

3、Logistic回归

4、泊松回归

5、关联规则

6、决策树

7、机器集成学习

8、随机森林法则


一、一元线性回归

 使用women数据框

#查看数据情况
<span style="font-family: Arial, Helvetica, sans-serif;">str(women)</span>
#先观察散点图,看是否可能存在线性关系
plot(women$weight,women$height)
#抽取一定的数据作为训练集和测试集
ind<-sample(2,nrow(women),replace=TRUE,prob=c(0.7,0.3))
train<-women[ind==1,]
test<-women[ind==2,]
#线性拟合
fit<-lm(weight~height,data=train)
#查看拟合的统计情况
summary(fit)
#画出散点图再加上拟合的曲线
plot(train$weight~train$height)
abline(fit)

#回归诊断
library(gvlma)
gv<-gvlma(fit)
summary(gv)

由回归诊断可知这次回归存在Link Function不满足条件,我们用plot(fit)来查看那个条件不满足:


由四个图可知线性、正态性以及同方差性好像都满足得不是很好,可以考虑加一个二次项:

fit2<-lm(weight~height+I(height^2),data=train)
plot(train$weight,train$height)
lines(train$weight,fitted(fit2))
opar<-par(mfrow=c(2,2))
plot(fit2)


这次看上去正态性效果好,但线性和同方差性满足不到,再次用

 gv2-gvlma(fit2)查看,同样发现存在假设不接受,那我们再次考虑加一个3次项拟合:

fit3<-lm(weight~height+I(height^2)+I(height^3),data=train)
Gv3<-gvlma(fit3)
summary(gv3)

这次假设都接受。

我们看看plot(fit3)


#预测

weight_pre<-predict(fit3,test)

> test$weight

[1] 115 117 123 126 129 135 139 164

画出实际和预测的图像:

plot(test$height,weight_pre,col="red",pch=17,type="b")
lines(test$
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值