【发布时间】:2020-08-25 04:23:43
【问题描述】:
假设我有一个设计矩阵 X (X_1, ..., X_84) 和一个多元目标 Y=[Y_1, Y_2, Y_3, Y_4],我想执行特征选择。所以这是一个多元多元线性回归。理想情况下,我想使用 Python RFE(递归特征消除)、LassoCV 和 sm.OLS,但 Y 必须是向量而不是矩阵。
我该如何处理这个问题?
谢谢
【问题讨论】:
标签: regression feature-selection
假设我有一个设计矩阵 X (X_1, ..., X_84) 和一个多元目标 Y=[Y_1, Y_2, Y_3, Y_4],我想执行特征选择。所以这是一个多元多元线性回归。理想情况下,我想使用 Python RFE(递归特征消除)、LassoCV 和 sm.OLS,但 Y 必须是向量而不是矩阵。
我该如何处理这个问题?
谢谢
【问题讨论】:
标签: regression feature-selection
您必须为 RFE 选择两个常量:
* Which regression method will you use?
***
* Decision Tree Regressor?, Random Forest Regressor?, Linear Regressor? ...
***
例如:
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())
然后您可以继续创建Pipeline 和fit 模型。
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时,你会得到下一个预测值。
【讨论】: