我正在使用python使用多项Logistic回归进行特征选择(在具有1,00,000行和32个特征的数据集上)。现在,为多类目标变量构建模型,选择特征的最有效方法是什么? 1,2,3,4,5,6,7)?
答案 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
当然,我建议您为您的功能构建配对图。
方法不是很深,它们引用了相关性和你所看到的,但有时(在不困难的情况下)是务实的。