多元特征选择

问题描述

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

我该如何解决这个问题?

谢谢

解决方法

您必须为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时,将获得下一个预测值。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...