R语言做逻辑回归

摘要:
-阅读。csv(“D:header=T)colnames(mydata)<-c(“x1”,-glm(formula=y~x1+x2+x3,data=mydata)summary(model)这里家族不使用二进制,type='response')plot(seq(-2,length=30),col='blue')添加:

前面写过一个多分类的逻辑回归,现在要做一个简单的二分类,用glm函数

导入csv格式如下:

R语言做逻辑回归第1张

mydata<-read.csv("D://li.csv",header=T)
colnames(mydata)<-c("x1","x2","x3","y")
model<-glm(formula = y ~ x1+x2+x3, family = quasibinomial(link = "logit"),data = mydata)
summary(model)

  这里family没有使用binomial,那个会报一个警告,

Warning message:
In eval(family$initialize) : 二项通用线性模型里出现了非整数的#成功!

查了一下,有可能数据是不均匀分布(Overdispersion),把family改成quasi的就行了。不过AIC会变成NA,这下拟合的P值就显著多了。

family = quasibinomial(link = "logit")

R语言做逻辑回归第2张

可以参考这个网站:https://stats.stackexchange.com/questions/91724/what-is-quasi-binomial-distribution-in-the-context-of-glm

这里有介绍两者的区别

R语言做逻辑回归第3张

做个图,貌似离逻辑回顾的那个曲线有点差距啊。

p<-predict(model,type='response')

 plot(seq(-2,2,length=30),sort(p),col='blue')

R语言做逻辑回归第4张

补充:family

binomial(link = "logit") 
gaussian(link = "identity") 
Gamma(link = "inverse") 
inverse.gaussian(link = "1/mu^2") 
poisson(link = "log") 
quasi(link = "identity", variance = "constant") 
quasibinomial(link = "logit") 
quasipoisson(link = "log")

免责声明:文章转载自《R语言做逻辑回归》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一起谈.NET技术,创建代码生成器可以很简单:如何通过T4模板生成代码?[上篇] 狼人:oracle 排序后分页查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章