R语言实现Logistic回归的五折交叉验证

本文介绍了如何使用R语言的caret包进行数据集拆分和五折交叉验证,结合Logistic回归进行模型训练的过程。

最近做作业的时候需要做Logistic回归的交叉验证,这里记录一下

首先对数据集进行拆分,这里用到caret包里的函数
拆分数据
然后对其进行交叉验证+logistic回归
交叉验证

 library(plyr)
library(caret)
folds <- createFolds(y=bank_logit$y.yes,k=5)
length(folds)
 print("***组号***")
 train_cv <- bank_logit[-folds[[i]],]
 test_cv <- bank_logit[folds[[i]],]
 #summary(test_cv)
 #生成logis模型,用glm函数
 #用训练集数据生成logis模型,用glm函数
 #family:每一种响应分布(指数分布族)允许各种关联函数将均值和线性预测器关联起来。常用的family:binomal(link='logit')--响应变量服从二项分布,连接函数为logit,即logistic回归
 pre <- glm(y.yes ~.,family=binomial(link = "logit"),data = train_cv)
 #summary(pre)
 #测试集的真实值
 real <- test_cv$y.yes
 #predict函数可以获得模型的预测值。这里预测所需的模型对象为pre,预测对象newdata为测试集,预测所需类型type选择response,对响应变量的区间进行调整
 predict.pre <- predict(pre,type='response',newdata=test_cv)
 #按照预测值为1的概率,>0.5的返回1,其余返回0
 predict =ifelse(predict.pre>0.5,1,0)
 #数据中加入预测值一列
 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值