以下是自己写的logistic回归的十折交叉验证代码,结果输出是i从1取到10的10个准确率precision的值
想设计一个程序自动输出,使准确率最大的i值,请问应该怎么写代码?
for(i in 1:10){
fold_test <- australian[folds[[i]],] #取folds[[i]]作为测试集
fold_train <- australian[-folds[[i]],] # 剩下的数据作为训练集
print("**************")
fold_pre <- glm(Y ~.,family=binomial(link='logit'),data=fold_train)
fold_predict <- predict(fold_pre,type='response',newdata=fold_test)
fold_predict =ifelse(fold_predict>0.5,1,0)
fold_test$predict = fold_predict
fold_true_value=fold_test[,15]
fold_predict_value=fold_test[,16]
fold_retrieved=sum(fold_predict_value)
fold_precision=sum(fold_true_value & fold_predict_value)/fold_retrieved
print(fold_precision)
}


雷达卡




京公网安备 11010802022788号







