循环打印逻辑回归统计摘要| StatsModels

发布于 2025-01-21 16:09:54 字数 865 浏览 0 评论 0原文

我试图弄清楚如何在statsmodels中实现循环以获取逻辑回归的统计摘要(通过自变量列表进行迭代)。我可以通过传统方法使其正常工作,但是使用for循环会使我的生活更容易找到变量之间的意义。

这是我要做的:

df = pd.read_csv('source/data_cleaning/cleaned_data.csv')

def opportunites():
    dep = ['LEAVER']
    indep = ['AGE', 'S0287', 'T0080', 'SALARY', 'T0329', 'T0333', 'T0159', 'T0165', 'EXPER', 'T0356']
    for i in indep:
        model = smf.logit(dep, i, data = df ).fit()
        print(model.summary(yname="Status Leaver", xname=['Intercept', i ],  
        title='Single Logistic Regression'))
        print()
opportunites()

这是有效的传统方法

def regressMulti2():
    model = smf.logit('LEAVER ~ AGE ', data = df).fit()
    print(model.summary(yname="Status Leaver",
    xname=['Intercept', 'AGE Less than 40 (AGE)'], title='Logistic Regression of Leaver and Age'))
    print()

regressMuti2()

I'm trying to figure out how to implement a for loop in statsmodels to get the statistics summary for a logistic regression (Iterate through independent variables list). I can get it to work fine with the traditional method, but using a for loop will make my life easier to find significance between variables.

Here is what I'm trying to do:

df = pd.read_csv('source/data_cleaning/cleaned_data.csv')

def opportunites():
    dep = ['LEAVER']
    indep = ['AGE', 'S0287', 'T0080', 'SALARY', 'T0329', 'T0333', 'T0159', 'T0165', 'EXPER', 'T0356']
    for i in indep:
        model = smf.logit(dep, i, data = df ).fit()
        print(model.summary(yname="Status Leaver", xname=['Intercept', i ],  
        title='Single Logistic Regression'))
        print()
opportunites()

Here is the traditional method that works

def regressMulti2():
    model = smf.logit('LEAVER ~ AGE ', data = df).fit()
    print(model.summary(yname="Status Leaver",
    xname=['Intercept', 'AGE Less than 40 (AGE)'], title='Logistic Regression of Leaver and Age'))
    print()

regressMuti2()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原谅过去的我 2025-01-28 16:09:54
def opportunites():
    indep = ['AGE', 'S0287', 'T0080', 'SALARY', 'T0329', 'T0333', 'T0159', 'T0165', 'EXPER', 'T0356']
    for i in indep:
        model = smf.logit(f'LEAVER ~ {i} ', data = df).fit()
        print(model.summary(
            yname="Status Leaver",
            xname=['Intercept', i],
            title=f'Logistic Regression of Leaver and {i}'
        ))
        print()
def opportunites():
    indep = ['AGE', 'S0287', 'T0080', 'SALARY', 'T0329', 'T0333', 'T0159', 'T0165', 'EXPER', 'T0356']
    for i in indep:
        model = smf.logit(f'LEAVER ~ {i} ', data = df).fit()
        print(model.summary(
            yname="Status Leaver",
            xname=['Intercept', i],
            title=f'Logistic Regression of Leaver and {i}'
        ))
        print()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文