多元特征选择

时间:2020-08-21 14:22:55

标签: regression feature-selection

假设我有一个设计矩阵X(X_1,...,X_84)并且一个多元目标Y = [Y_1,Y_2,Y_3,Y_4],我想执行特征选择。因此,这是一个多元多元线性回归。理想情况下,我希望使用Python RFE(递归特征消除),LassoCV和sm.OLS,但Y必须是向量而不是矩阵。

我该如何解决这个问题?

谢谢

1 个答案:

答案 0 :(得分:0)

您必须为RFE选择两个常量:

    1. 回归方法:

* Which regression method will you use? 

  ***
  * Decision Tree Regressor?, Random Forest Regressor?, Linear Regressor? ...
    ***
    1. 功能数量:

  • 您将为问题选择多少个功能? 1,5?
    • 不幸的是,您必须将功能部件号设置为常数。

例如:

from sklearn.feature_selection import RFE
from sklearn.linear_model import LassoCV

rfe = RFE(estimator=LassoCV(), n_features_to_select=5)

可能的问题:如果我不知道应该选择多少个功能,应该怎么办?


好吧,您可以使用RFECV

rfe = RFECV(estimator=LassoCV())

然后,您可以继续创建Pipelinefit模型。

from sklearn.pipeline import Pipeline

model = LassoCV()
pipeline = Pipeline(steps=[('s', rfe),('m', model)])
pipeline.fit(X, y)

预测下一个值:

data = [[-7.05, 0.32, 0.94, ....]]
y_hat = pipeline.predict(data)

打印y_hat时,将获得下一个预测值。