R语言做逻辑回归
Posted marszhw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言做逻辑回归相关的知识,希望对你有一定的参考价值。
前面写过一个多分类的逻辑回归,现在要做一个简单的二分类,用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‘)
以上是关于R语言做逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章
R语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等
R语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等
R语言广义线性模型函数GLMglm函数构建逻辑回归模型(Logistic regression)去除初步验证不具有显著性的特征再次构建逻辑回归模型简化模型(reduced model)