在逻辑回归中,如何在 python 中为我的虚拟变量设置“参考水平”

Posted

技术标签:

【中文标题】在逻辑回归中,如何在 python 中为我的虚拟变量设置“参考水平”【英文标题】:In logistic regression, how do I set my 'reference level' for my dummy variables in python 【发布时间】:2020-03-02 07:41:48 【问题描述】:

我正在使用 statsmodel 在 python 中做一个逻辑回归模型。由于我的很多专栏都是分类的,所以我使用“get_dummies”对它们进行了一次性编码。我的新数据框现在有更多带有 1 和 0 的列。 (例如,gender1、gender2、stats1、status2、status 3 等)。

使用这个新数据框,如何为我的逻辑回归设置“参考水平”?默认情况下,我如何知道我的参考水平设置在什么位置?

【问题讨论】:

什么是参考水平?你能举个例子吗? 就像你做逻辑回归一样,系数表示参考水平的大小。就像如果你有 2 个变量('Male'、'Female'、'unknown')并且如果你的参考水平是'Male',那么分配给'female'的系数是你预测的可能性,在参考到男性变量。我确定我没有完全正确地解释它,但我知道确实存在参考类别的想法。 【参考方案1】:

我不是 100% 你的问题是什么,但在scikit-learn 中存在dummy regressor 的概念。

如果你有一个数据框 df,它的工作方式如下:

from sklearn.dummy import DummyRegressor
clf = DummyRegressor(strategy='mean', random_state=0)
clf = clf.fit(X, y)

还有带有import DummyClassifier 的 DummyClassifier。查看文档,这个想法始终是预测平均值或最常见类别的基线。

【讨论】:

【参考方案2】:

聚会有点晚了,但是...要设置参考水平,您可以尝试formula api:statsmodels.formula.api

公式 api 使用Patsy 将公式字符串转换为 statsmodels 可以使用的数据框(统计术语中的设计矩阵)。您可能还会发现 Patsy 可以处理您需要的大部分数据整形。

设置参考电平:

import statsmodel.formula.api as smf

log_reg = smf.logit("y ~ C(var, Treatment(reference='reference_value'))", data=df)

见:Handling Categorical Data

【讨论】:

以上是关于在逻辑回归中,如何在 python 中为我的虚拟变量设置“参考水平”的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的蛇游戏中为我的蛇的身体部位使用不同的图像? (Python、Pygame、Snake)

如何在 MS Azure 中为我的 blob 存储中的 blob 提取上次修改日期

如何在 Visual Studio Code 中为 Python 设置虚拟环境?

在 python 中使用 sklearn 对连续数据进行逻辑回归

如何在rest框架中为我的注册视图编写登录视图?

如何以编程方式在小米中为我的应用启用自动启动