使用OneVsRestClassifier进行多标签分类,如何获取随机森林的feature_importances_?

6

我正在使用OneVsRestClassifier来解决多标签分类问题。我将RandomForestClassifier传递给它。

from sklearn.multiclass import OneVsRestClassifier
from sklearn.ensemble import RandomForestClassifier
clf = OneVsRestClassifier(RandomForestClassifier(random_state=0,class_weight='auto',min_samples_split=10,n_estimators=50))
clf.fit(train,dv_train)
print clf.feature_importances_
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'OneVsRestClassifier' object has no attribute 'feature_importances_'

如何获取OneVsRestClassifier中每个随机森林的特征重要性?

1个回答

9

OneVsRestClassifier有一个属性estimators_:包含n_classes个估计器的列表。

要获取第i个随机森林的特征重要性,请执行以下操作:

print clf.estimators_[i].feature_importances_

我相信在新的scikit-learn版本中这是不可能的。现在有什么替代方案吗? - Federico Gentile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接