如何使用 scikit learn 解释逻辑回归系数

数据挖掘 Python scikit-学习 逻辑回归
2022-03-01 02:58:10

我使用具有 21 个特征的逻辑回归创建了一个模型,其中大部分是二元的。我使用 get_dummies 创建了这些功能。很少有其他特征是数字的。使用测试集时,我得到了非常好的准确率。在检查系数时,我无法解释结果。我知道系数是特征值的乘数,但是我想知道哪个特征最重要。我如何解释系数值?

系数是:

[[9.94670383e-01 1.11134574e+00 1.52026366e+00 1.00438802e+00
  1.00526047e+00 9.99706283e-01 1.16615129e+00 7.62542057e-01
  2.07560050e-01 6.37260544e+00 5.04481410e+01 1.25174912e+00
  1.41552939e-02 1.00212609e+00 8.99670711e-01 1.54314635e+00
  1.40966824e+00 2.59413851e+00 9.60362518e-01 7.12430063e-01
  9.49015749e-01 8.73217396e-01 1.13360003e+00 1.29499497e+00
  2.59413851e+00 8.48199127e-01 1.29459832e+00 8.39932559e-01
  6.74508365e-01 7.78038545e-01 8.47179333e-01 9.41898759e-01
  8.98000460e-01 1.00399001e+00 9.48308585e-01 9.50727965e-01
  9.44539862e-01 9.54521379e-01 9.44539862e-01 1.00399001e+00
  9.50727965e-01 9.37261117e-01 1.15132693e+00 1.45405029e+00
  1.23885045e+00 1.06559667e+00 9.81397305e-01 9.83352615e-01
  9.78351208e-01 1.00000000e+00 1.21413156e+00 1.00000000e+00
  8.22625929e-01 9.91538253e-01 9.87898964e-01 9.73726514e-01
  1.01138367e+00 9.32550966e-01 1.00415197e+00 9.82564951e-01
  1.33411399e+00 9.96881917e-01 9.07833416e-01 1.00000000e+00
  1.00288719e+00 9.84791831e-01 1.00000000e+00 9.90776061e-01
  1.30224077e+00 1.00197704e+00 1.00493857e+00 9.98820836e-01
  9.97599386e-01 9.90111246e-01 1.00026804e+00 9.99640135e-01
  9.51405033e-01 1.00719641e+00 1.01318728e+00 1.06443148e+00
  7.75383243e-01 9.52164748e-01 1.00000000e+00 1.07497387e+00
  9.93559217e-01 1.00000000e+00 9.85889880e-01 1.00800864e+00
  9.89096317e-01 1.10525575e+00 1.06559667e+00 9.99043816e-01
  1.32622212e+00 1.10525575e+00 1.00025462e+00 6.68703857e-01
  8.29126910e-01 7.54026844e-01 1.21169810e+00 1.83053934e+00
  9.90596303e-01]]

由于大多数变量都是虚拟变量,我怎么知道它使用的是哪个值 1/0?任何帮助将不胜感激。

1个回答

意义:据我所知,sklearn 没有提供获取 p 值的模块。你可以去statsmodels:

https://stackoverflow.com/a/55655645/9524424

解释:请记住,Logit 使用逻辑链接函数,因此对系数没有简单的即时解释。你需要计算边际效应,所以变化y当你改变一些x,其他一切都一样。Stata 有这样的模块。但是,我认为 sklearn 没有这样的实现。Python statsmodels 似乎也附带了一个派生边际效应的选项,但我从未尝试过。寻找.get_margeff

https://www.statsmodels.org/stable/generated/statsmodels.discrete.discrete_model.DiscreteResults.get_margeff.html