r语言做二分类logistic回归分析
来源:互联网 发布:淘宝店怎么装修视频 编辑:程序博客网 时间:2024/05/16 16:56
#第1步:读入数据
setwd("C:/Users/IBM/Desktop/logsistic建模/3.2建模")#设定当前的工作目录,重要!
safe<-read.csv("model2.csv",header=T)
str(safe) #看表头
colnames(safe)#看列名
attach(safe)
cor(safe) #变量间相关系数阵
#第2步:使用glm函数计算.
glm.safe<-glm(is_run~reg_age+reg_life+heart_num+max_period
+min_period+median25_period+median50_period+median75_period
+lost_num_m30+avg_income_fund+avg_amt_fund+avg_nums_fund
+avg_amt_p2p+avg_nums_p2p+log_num+avg_income_p2p
,data=safe,family=binomial)#logistic模型
summary(glm.safe)
#第3步:逐步回归
glm.safe1<-step(glm.safe)
summary(glm.safe1)#逐步回归
#第4步:模型解读
coef(glm.safe1)#用以解释模型
exp(glm.safe1$coefficients) #解释Odds比与x的关系
exp(confint(glm.safe1)) #回归系数的置信区间
xp05<-0/glm.safe1$coefficients[]
xp05 #求使得pi为0.5的x
ratio05<-glm.safe1$coefficients[]*0.25
ratio05 #pi为0.5处的pi关于x的变化率
#第5步:模型评价
#5.1计算决定系数
R2cox<-1-exp((glm.safe1$deviance-glm.safe1$null.deviance)/length(is_run))
#5.2计算Cox-Snell拟合优度
cat("Cox-Snell R2=",R2cox,"\n")
R2nag<-R2cox/(1-exp((-glm.safe1$null.deviance)/length(is_run)))
#5.3计算Nagelkerke拟合优度
cat("Nagelkerke R2=",R2nag,"\n")
#5.4残差分析
plot(residuals(glm.safe1))
#5.5异常值诊断
library(car)
influencePlot(glm.safe1)
#第6步:分类表
fitt.pi<-fitted(glm.safe1)#同predict(glm.safe1,data.frame(x2=x2),type="resp")
ypred<-1*(fitt.pi>0.5) #1*逻辑变量就变成了0和1变量
ypred
length(ypred)
n<-table(safe$is_run,ypred)
n
Percantage<-c(n[1,1]/sum(n[1,]),n[2,2]/sum(n[2,]))
Percantage
rbind(Category,Percantage)
setwd("C:/Users/IBM/Desktop/logsistic建模/3.2建模")#设定当前的工作目录,重要!
safe<-read.csv("model2.csv",header=T)
str(safe) #看表头
colnames(safe)#看列名
attach(safe)
cor(safe) #变量间相关系数阵
#第2步:使用glm函数计算.
glm.safe<-glm(is_run~reg_age+reg_life+heart_num+max_period
+min_period+median25_period+median50_period+median75_period
+lost_num_m30+avg_income_fund+avg_amt_fund+avg_nums_fund
+avg_amt_p2p+avg_nums_p2p+log_num+avg_income_p2p
,data=safe,family=binomial)#logistic模型
summary(glm.safe)
#第3步:逐步回归
glm.safe1<-step(glm.safe)
summary(glm.safe1)#逐步回归
#第4步:模型解读
coef(glm.safe1)#用以解释模型
exp(glm.safe1$coefficients) #解释Odds比与x的关系
exp(confint(glm.safe1)) #回归系数的置信区间
xp05<-0/glm.safe1$coefficients[]
xp05 #求使得pi为0.5的x
ratio05<-glm.safe1$coefficients[]*0.25
ratio05 #pi为0.5处的pi关于x的变化率
#第5步:模型评价
#5.1计算决定系数
R2cox<-1-exp((glm.safe1$deviance-glm.safe1$null.deviance)/length(is_run))
#5.2计算Cox-Snell拟合优度
cat("Cox-Snell R2=",R2cox,"\n")
R2nag<-R2cox/(1-exp((-glm.safe1$null.deviance)/length(is_run)))
#5.3计算Nagelkerke拟合优度
cat("Nagelkerke R2=",R2nag,"\n")
#5.4残差分析
plot(residuals(glm.safe1))
#5.5异常值诊断
library(car)
influencePlot(glm.safe1)
#第6步:分类表
fitt.pi<-fitted(glm.safe1)#同predict(glm.safe1,data.frame(x2=x2),type="resp")
ypred<-1*(fitt.pi>0.5) #1*逻辑变量就变成了0和1变量
ypred
length(ypred)
n<-table(safe$is_run,ypred)
n
Percantage<-c(n[1,1]/sum(n[1,]),n[2,2]/sum(n[2,]))
Percantage
rbind(Category,Percantage)
0 0
- r语言做二分类logistic回归分析
- 二分类模型性能评价(R语言,logistic回归,ROC曲线,lift曲线,lorenz曲线)
- 二分类模型性能评价(R语言,logistic回归,ROC曲线,lift曲线,lorenz曲线)
- R语言做回归分析
- R语言logistic回归模型
- R分类算法-Logistic回归算法
- R语言与机器学习学习笔记(分类算法)(6)logistic回归
- R语言与机器学习学习笔记(分类算法)(6)logistic回归
- R语言与机器学习学习笔记(分类算法)(6)logistic回归
- R语言与机器学习学习笔记(分类算法)(6)logistic回归
- R语言-回归分析
- R语言回归分析
- 分类资料的Logistic回归分析
- R语言做岭回归
- R语言做线性回归
- R----简述logistic回归
- Logistic回归分类
- logistic回归分类
- Androidstudio 的使用技巧
- 网络基础
- 高斯混合模型(GMM)及其EM算法的理解
- 背包问题详解
- 问题C:某计算器的超电磁炮
- r语言做二分类logistic回归分析
- java加mysql按时间条件查询sql语句
- LinkedHashMap源码阅读总接
- cockroachDB学习总结
- 【bzoj 3594】[Scoi2014]方伯伯的玉米田
- linux内核编译
- 启动asp.net state service服务提示1058
- 博为峰JavaEE技术文章 ——MyBatis <where>标签使用方法
- 开发中的设计模式总结