R判断逻辑回归参数共线性

方差膨胀因子(Variance Inflation Factor,VIF):是指解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比。容忍度的倒数,VIF越大,显示共线性越严重。经验判断方法表明:当0



setwd('C:/Users/zhangluying/Desktop/建模/数据')
library(dplyr)
library(pROC)
data0<-read.csv('clean_data_1201.csv',stringsAsFactors=F)
head(data0)
names(data0)

#查看每一列数据格式
apply(data0,2,mode)


#查看正负样本比例
length(data0[,1])
length(data0[which(data0$lose_bo==1),1])
length(data0[which(data0$lose_bo==0),1])


#抽样,分为train和test
indexes <- sample (length(data0[,1]), 0.7*length(data0[,1]), replace =F)
train<-data0[indexes,-1]
test<-data0[-indexes,-1]

#建模
lgst<-glm(formula=train$lose_bo~.,binomial(link='logit'),data=train)
summary(lgst)
p<-predict.glm(lgst,test,type='response')


#roc曲线
result<-data0[-indexes,c('user_id',"lose_bo")]
roc(result$lose_bo,p,plot=TRUE,print.thres=TRUE,print.auc=TRUE)

#混淆矩阵
result$predict<-ifelse(p>0.504,1,0)
head(result)
table(result$lose_bo,result$predict)

#预测准确率
length(which((result[,2]==result[,3])==TRUE))/length(result[,1])


length(data0)

summary(lgst)



sqrt(vif(lgst))>2   #######################判断共线性 True为共线性严重变量

你可能感兴趣的:(r语言,数据挖掘)