【问题标题】:Multivariate Feature Selection多元特征选择
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答,但这些功能不适用于多变量目标 y...
    • 很遗憾听到这个消息,如果可能的话,您能否向我展示您的数据示例?
    猜你喜欢
    • 2021-04-16
    • 2013-02-21
    • 2017-01-18
    • 2020-02-24
    • 2017-04-06
    • 2013-04-26
    • 2014-02-19
    相关资源
    最近更新 更多