在建立逻辑回归模型时获得“检测到完美分离,结果不可用”

2024-06-16 10:25:40 发布

您现在位置:Python中文网/ 问答频道 /正文

作为我任务的一部分,我正在建立逻辑回归模型,但在建立模型时,我得到了一个错误“检测到完美分离,结果不可用”

**X_train :-**

      year     amt_spnt      rank
1   -1.723034   -0.418500   0.272727
2   0.716660    2.088507    -0.636364
3   1.174102    -0.558333   -1.545455
4   -0.503187   -1.297451   1.181818
5   1.326583    -0.628250   -1.545455

**y_train :-** 

1    0
2    1
3    1
4    0
5    1
Name: result, dtype: int64

**Logistic Model code:-** 

import statsmodels.api as sm
logm1 = sm.GLM(y_train,(sm.add_constant(X_train)), family = sm.families.Binomial())
logm1.fit().summary()

**Dataset before and after scaling**

Full Dataset attached here

**Image for evidence:-** 

[![Evidence][1]][1] 

[1]: https://i.stack.imgur.com/cTncA.png

Tags: name模型错误train逻辑resultyearsm
1条回答
网友
1楼 · 发布于 2024-06-16 10:25:40

这是一个模型设置问题,由于完美分离,您的模型无法收敛。完全分离意味着自变量中有一个(或多个)变量可以完全区分因变量=0和因变量=1。请参见以下示例:

Y 0 0 0 0 1 1 1

x1234445678

如果X<;=4,Y=0

如果X>;4,Y=1

对您的问题的一个简短回答是在自变量中找到这样的变量,并将其从模型中删除

相关问题 更多 >