【问题标题】:In logistic regression, how do I set my 'reference level' for my dummy variables in python在逻辑回归中,如何在 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'的系数是你预测的可能性,在参考到男性变量。我确定我没有完全正确地解释它,但我知道确实存在参考类别的想法。

标签: python scikit-learn regression logistic-regression statsmodels


【解决方案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 apistatsmodels.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

    【讨论】:

      猜你喜欢
      • 2014-06-10
      • 2014-02-20
      • 2015-01-03
      • 2021-04-27
      • 2021-11-03
      • 1970-01-01
      • 2018-05-23
      • 2020-09-18
      • 2018-10-21
      相关资源
      最近更新 更多