如何使用决策树中的 feature_importances_ 删除所有非零重要特征?

Posted

技术标签:

【中文标题】如何使用决策树中的 feature_importances_ 删除所有非零重要特征?【英文标题】:How to remove all non zero important features using feature_importances_ in Decision Tree? 【发布时间】:2020-09-26 05:25:19 【问题描述】:

我正在尝试构建一个新的数据集进行分析,我需要从原始数据集中删除所有非零重要特征。

预处理后我的数据集形状为 (61176, 13047)。

我发现所有特征的特征重要性如下:

clf_features = DecisionTreeClassifier(min_samples_split=2,class_weight = 'balanced')
clf_features.fit(x_trn_tfidf, y_train)

我得到了 numpy 数组中所有特征的特征重要性。

现在我需要删除所有非零的重要特征(例如小于 0.001 的值)并创建一个新数据集。

有人可以建议怎么做吗?

【问题讨论】:

【参考方案1】:

试试这个:

x_trn_tfidf[:,clf_features.feature_importance_ >= 0.001]

注意:这将返回重要性值大于或等于0.001的所有特征。

【讨论】:

以上是关于如何使用决策树中的 feature_importances_ 删除所有非零重要特征?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用决策树中的 feature_importances_ 删除所有非零重要特征?

如何解释sklearn决策树树中的children_left属性_

一次热编码后决策树中的特征解释

确定 sklearn 决策树中的拆分数量

如何返回在 sklearn 中由 DecisionTreeClassifier 创建的决策树中使用的特征

决策树中的J48算法分析