我刚开始使用功能选择。假设我有一个决策树模型。我得到它的特征重要性tree.feature_importances_
。
在我的模型中,大约 30 个特征中,其中 20 个的重要性值为零。这是否意味着我应该从我的模型中丢弃那些低重要性值的特征?据我了解,答案是否定的,但我不知道背后的原因。谁能解释一下?
我刚开始使用功能选择。假设我有一个决策树模型。我得到它的特征重要性tree.feature_importances_
。
在我的模型中,大约 30 个特征中,其中 20 个的重要性值为零。这是否意味着我应该从我的模型中丢弃那些低重要性值的特征?据我了解,答案是否定的,但我不知道背后的原因。谁能解释一下?
至于许多问题,答案是“视情况而定”:
回答您的问题的最佳方法是进行实验:
您可能会观察到,对于添加的每个“重要”功能,性能在开始时会增加很多,然后随着功能重要性的降低而减慢,并且在某些时候可能根本不会增加,甚至可能会降低一点。
Python 数据科学导论书说
但是,如果某个功能的 feature_importance 较低,并不意味着该功能没有信息。这仅意味着该特征没有被树选择,可能是因为另一个特征编码了相同的信息。
因此,在该特定模型中,您应该能够丢弃,因为还有其他变量对该信息进行编码。但另一个模型可能会使用它。