R语言逻辑回归、ROC曲线和十折交叉验证
2021-01-21
自己整理编写的逻辑回归模板,作为学习笔记记录分享。数据集用的是14个自变量Xi,一个因变量Y的australian数据集。
1. 测试集和训练集3、7分组
[html] view plaincopyprint?australian
2.生成模型,结果导出
[html] view plaincopyprint?#生成logis模型,用glm函数#用训练集数据生成logis模型,用glm函数#family:每一种响应分布(指数分布族)允许各种关联函数将均值和线性预测器关联起来。常用的family:binomal(link="logit")--响应变量服从二项分布,连接函数为logit,即logistic回归pre0.5的返回1,其余返回0predict=ifelse(predict.>0.5,1,0)#数据中加入预测值一列aus_test$predict=predict#导出结果为csv格式#write.csv(aus_test,"aus_test.csv")
3.模型检验
[html] view plaincopyprint?##模型检验res
4.准确率和精度
[html] view plaincopyprint?true_value=aus_test[,15]predict_value=aus_test[,16]#计算模型精确度error=predict_value-true_valueaccuracy=(nrow(aus_test)-sum(abs(error)))/nrow(aus_test)#精确度--判断正确的数量占总数的比例#计算Precision,Recall和F-measure#一般来说