前面寫過一個多分類的邏輯回歸,現在要做一個簡單的二分類,用glm函數
導入csv格式如下:

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")

這里有介紹兩者的區別

做個圖,貌似離邏輯回顧的那個曲線有點差距啊。
p<-predict(model,type='response')
plot(seq(-2,2,length=30),sort(p),col='blue')

