在逻辑回归中,如何在 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 设置虚拟环境?