最近做作业的时候需要做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 &l