我处理了一个包含超过295列的数据集(经过分类编码后),使用随机森林回归模型获得了97.92%的准确率。我想使用反向消元方法去除一些特征,但不想手动处理295列。有没有更有效的方法可以做到这一点?
这是我所做的
x_opt = X_train[:,:] x_opt = np.array(x_opt, dtype=float)ols = sm.OLS(endog = Y_train, exog = x_opt).fit() ols.summary()
但是由于有1460行,我无法找出最大P值。
回答:
在8-9个月后,我找到了这个问题的答案,即sklearn中有一个名为f_regression的方法,它会返回p值,然后我可以将这些值转换为数据框,并找出最大值。
https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.f_regression.html