假设我有一个设计矩阵X(X_1,...,X_84)并且一个多元目标Y = [Y_1,Y_2,Y_3,Y_4],我想执行特征选择。因此,这是一个多元多元线性回归。理想情况下,我希望使用Python RFE(递归特征消除),LassoCV和sm.OLS,但Y必须是向量而不是矩阵。
我该如何解决这个问题?
谢谢
答案 0 :(得分:0)
您必须为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
时,将获得下一个预测值。