logistic回归报错问题:Warning messages: 1: glm.fit:算法没有聚合 2: glm.fit:拟合機率算出来是数值零或一

在进行logistic回归时可能会遇到两种警告:算法没有聚合(未收敛)和拟合概率数值为0或1。前者可通过增加迭代次数尝试解决,若仍不收敛则可能数据存在问题。后者可能是数据过拟合,导致分类过于明确,接近线性可分。对于完全线性可分的数据,直接使用规则判断可能更适用。
摘要由CSDN通过智能技术生成

logistic回归的时候报错问题包括下面两种

Warning: glm.fit: algorithm did not converge

Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred 

Warning messages:

1: glm.fit:算法没有聚合 

2: glm.fit:拟合機率算出来是数值零或一 

做logistic回归的时候这个问题比较常见,下面来举例,为什么会出现这些问题。

首先是glm函数介绍:

glm(formula, family=family.generator, data,control = list(...))

family:每一种响应分布(指数分布族)允许各种关联函数将均值和线性预测器关联起来。

 常用的family:

binomal(link='logit')         ----响应变量服从二项分布,连接函数为logit,即logistic回归

binomal(link='probit')       ----响应变量服从二项分布,连接函数为probit

poisson(link='identity')     ----响应变量服从泊松分布,即泊松回归

 

control:控制算法误差和最大迭代次数

glm.control(epsilon = 1e-8, maxit = 25, trace = FALSE)  

     -----maxit:算法最大迭代次数,改变最大迭代次数:control=list(maxit=100)

 glm函数使用:

 

library("ggplot2")
data<-iris[1:100,]
samp<-sample(100,80)
names(data)<-c('sl','sw','pl','pw','species')
testdata<-data[samp,]
traindata<-data[-samp,]
lgst<-glm(testdata$species~pl,binomial(link='logit'),data=testdata)
## Warning: glm.fit: algorithm did not converge
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(lgst)
## 
## Call:
## glm(formula = testdata$species ~ pl, family = binomial(lin
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值