z99*_*991 5 python scikit-learn
我想用python scikit-learn进行装袋.我想结合RFE(),递归特征选择算法.步骤如下.
我尝试使用BaggingClassifier方法,如下所示,但它花了很多时间,似乎无法正常工作.仅使用RFE可以正常工作(rfe.fit()).
cf1 = LinearSVC()
rfe = RFE(estimator=cf1)
bagging = BaggingClassifier(rfe, n_estimators=30)
bagging.fit(trainx, trainy)
Run Code Online (Sandbox Code Playgroud)
此外,步骤4可能难以找到顶部特征,因为Bagging分类器不提供像RFE()中的ranking_的属性.还有其他一些好方法可以实现这4个步骤吗?
如果没有装袋,可以通过以下行访问 RFE 给出的排名:
rfe.ranking_
Run Code Online (Sandbox Code Playgroud)
此顺序可用于对特征名称进行排序,然后取前五个特征。有关此参数的示例,请参阅sklearn RFE 文档。通过装袋,您将需要访问 30 个估算器中的每一个。根据sklearn BaggingClassifier 的文档,您可以通过以下方式访问它们:
bagging.estimators_
Run Code Online (Sandbox Code Playgroud)
所以:对于 bagging.estimators_ 中的每个 bagging,获取排名,根据这个排名对特征进行排序,并取前五个元素!希望这可以帮助。