我想使用python scikit-learn执行装袋。
我想结合使用RFE()和递归特征选择算法。
步骤如下。

  • 制作30个子集,允许冗余选择(装袋)
  • 对每个数据集执行RFE
  • 获取每个分类的输出
  • 从每个输出
  • 中找到前5个功能

    我尝试使用如下所示的BaggingClassifier方法,但是这花费了很多时间,而且似乎不起作用。仅使用RFE即可正常工作(rfe.fit())。
    cf1 = LinearSVC()
    rfe = RFE(estimator=cf1)
    bagging = BaggingClassifier(rfe, n_estimators=30)
    bagging.fit(trainx, trainy)
    

    同样,第4步可能很难找到顶部特征,因为Bagging分类器没有在RFE()中提供诸如rank_的属性。
    还有其他一些好的方法可以实现这四个步骤吗?

    最佳答案

    如果没有套袋,则可以通过以下行访问RFE给出的排名:

    rfe.ranking_
    

    此顺序可用于对要素名称进行排序,然后采用五个优先要素。有关此参数的示例,请参见the documentation for sklearn RFE
    使用装袋法时,您需要访问30个估算器中的每个估算器。基于documentation for sklearn BaggingClassifier,您可以使用以下命令访问它们:
    bagging.estimators_
    

    因此:对于bagging.estimators_中的每个bagging,获取排名,基于该排名对要素进行排序,并采用前五个元素!
    希望这可以帮助。

    关于python - 使用python scikit-learn进行RFE的装袋(bootstrap),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34370443/

    10-12 22:43