我构建了一个scikit learn随机森林分类器模型,并希望根据feature_importances_减少特征的数量
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(5000)
model.fit(data[train], target[train])
model.feature_importances_
如何对模型进行子集化,使其仅包含通过feature_importances_标识的特征(例如前 5 个特征)。
如果你使用的是 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)
在此示例中,有一些方法可以调整threshold
参数。