python中多类逻辑回归中的特征选择

时间:2017-07-04 10:09:02

标签: python machine-learning scikit-learn logistic-regression

我正在使用python使用多项Logistic回归进行特征选择(在具有1,00,000行和32个特征的数据集上)。现在,为多类目标变量构建模型,选择特征的最有效方法是什么? 1,2,3,4,5,6,7)?

1 个答案:

答案 0 :(得分:2)

当然,有几种方法可供选择。但有时下一个简单的方法可以帮助你。您可以借助线性模型评估特征的贡献(通过结果变量的潜在预测)。请注意,它主要适用于您怀疑功能与答案之间存在线性依赖关系的情况。

import statsmodels.formula.api as smf

# Lottery here is Y, the fields from X are right of ~
mod = smf.ols(formula='Lottery ~ Literacy + Wealth + Region', data=df) 
res = mod.fit()
print(res.summary())

OLS Regression Results                            
==============================================================================
Dep. Variable:                Lottery   R-squared:                       0.338
Model:                            OLS   Adj. R-squared:                  0.287
Method:                 Least Squares   F-statistic:                     6.636
Date:                Tue, 28 Feb 2017   Prob (F-statistic):           1.07e-05
Time:                        21:36:08   Log-Likelihood:                -375.30
No. Observations:                  85   AIC:                             764.6
Df Residuals:                      78   BIC:                             781.7
Df Model:                           6                                         
Covariance Type:            nonrobust                                         
===============================================================================
                  coef    std err          t      P>|t|      [0.025      0.975]
-------------------------------------------------------------------------------
Intercept      38.6517      9.456      4.087      0.000      19.826      57.478
Region[T.E]   -15.4278      9.727     -1.586      0.117     -34.793       3.938
Region[T.N]   -10.0170      9.260     -1.082      0.283     -28.453       8.419
Region[T.S]    -4.5483      7.279     -0.625      0.534     -19.039       9.943
Region[T.W]   -10.0913      7.196     -1.402      0.165     -24.418       4.235
Literacy       -0.1858      0.210     -0.886      0.378      -0.603       0.232
Wealth          0.4515      0.103      4.390      0.000       0.247       0.656
==============================================================================
Omnibus:                        3.049   Durbin-Watson:                   1.785
Prob(Omnibus):                  0.218   Jarque-Bera (JB):                2.694
Skew:                          -0.340   Prob(JB):                        0.260
Kurtosis:                       2.454   Cond. No.                         371.
==============================================================================

R平方值越大,您选择的特征组合就越能预测线性模型中的响应。如果他们能够在线性模型中进行预测,那么我认为,他们在更复杂的模型(如决策树)中具有更大的潜力。

请查看下一页了解更多详情(请注意,如果您的数据错误具有异方差性以获得正确的结果,则可能需要进行一些额外的数据处理): http://www.statsmodels.org/dev/example_formulas.html

当然,我建议您为您的功能构建配对图。

方法不是很深,它们引用了相关性和你所看到的,但有时(在不困难的情况下)是务实的。