我已经构建了一个scikit学习随机森林分类器模型,并希望减少基于feature_importances的功能数量_
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(5000)
model.fit(data[train], target[train])
model.feature_importances_
如何对模型进行子集化,使其仅包含通过feature_importances_识别的功能(比如前5个功能)。
答案 0 :(得分:1)
如果您使用的是0.17,则可以使用SelectFromModel
from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_selection import SelectFromModel
iris = datasets.load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier(5000)
new_model = SelectFromModel(model, threshold=0.5)
从this example开始,有一些方法可以调整threshold
参数。