R glm.fit:拟合概率数值为0或1

R glm.fit:拟合概率数值为0或1,r,glm,R,Glm,我对数据科学和R相当陌生,所以请对我耐心:) 我想做的是在之后做一个逻辑回归模型和混淆矩阵,但我得到以下警告信息: glm.fit:拟合概率数值为0或1 我有14个解释变量和1个用于信贷批准的二进制目标变量(未批准0,已批准1) creditApproval您可以添加一个样本数据集来重现您的代码吗?该警告是由完全分离引起的,这是逻辑回归中的一个常见问题-尤其是如果您有许多预测因子,并且事件很少发生。问题是,您要求R估计两种结果中只有一种发生的组合的成功概率。在这些情况下,估计概率为0或1,这将简

我对数据科学和R相当陌生,所以请对我耐心:)

我想做的是在之后做一个逻辑回归模型和混淆矩阵,但我得到以下警告信息:

glm.fit:拟合概率数值为0或1

我有14个解释变量和1个用于信贷批准的二进制目标变量(未批准0,已批准1)


creditApproval您可以添加一个样本数据集来重现您的代码吗?该警告是由完全分离引起的,这是逻辑回归中的一个常见问题-尤其是如果您有许多预测因子,并且事件很少发生。问题是,您要求R估计两种结果中只有一种发生的组合的成功概率。在这些情况下,估计概率为0或1,这将简化为具有无随机性情况的模型
creditApproval <- read.table(file.choose(), header=TRUE)
summary(creditApproval)
dim(creditApproval)
str(creditApproval)

creditApproval$class <- as.factor(creditApproval$class)

### Setting seed for reproductability
set.seed(2567)

# Normalizing dataset

approvalNORM <- creditApproval 

for(i in 1:length(colnames(creditApproval))-1) {
  if(class(creditApproval[,i]) == "numeric" || class(creditApproval[,i]) == "integer") 
  { minimum<-min(creditApproval[,i])
    maximum<-max(creditApproval[,i]) 
    approvalNORM[,i] <- as.vector(scale(creditApproval[,i],center=minimum,scale=maximum-minimum)) } } 
summary(approvalNORM) # Normalization

# Logistic Regression 

model <- glm(class ~., family=binomial(link='logit'), data=approvalNORM)
summary(model)