Python分类定义特征重要性

Posted

技术标签:

【中文标题】Python分类定义特征重要性【英文标题】:Python classification define feature importance 【发布时间】:2019-06-09 10:36:45 【问题描述】:

我想知道是否可以在 Pyhton 分类方法中定义特征重要性/权重?例如:

model = tree.DecisionTreeClassifier(feature_weight = ...) 

我在RandomForest中看到有一个属性feature_importance,根据分析显示特征的重要性。但是我可以提前定义特征重要性以进行分析吗?

非常感谢您提前提供的帮助!

【问题讨论】:

因为我的分析中存在过拟合,我可以肯定地说某些特征比其他特征更重要。这就是为什么我想知道我是否可以提前定义重要性。 How to put more weight on certain features in machine learning?的可能重复 在你的情况下,我会选择特征选择,并保留独特的特征仅用于训练scikit-learn.org/stable/modules/feature_selection.html 好的!非常感谢!我将选择特征并删除不太重要的特征。 【参考方案1】:

随机森林分类器中的特征重要性确定使用随机森林特定的方法(反转特征上的所有二元测试,并获得额外的分类错误)。

因此,特征重要性是一个与模型的预测能力相关的概念,而不是训练阶段。现在,如果你想让你的模型更喜欢某些特性而不是其他特性,你必须找到一些依赖于模型的技巧。

关于sklearnDecisionTreeClassifier,这样的伎俩似乎并不简单。您可以自定义您的班级权重,如果您知道某些班级将更容易被您喜欢的某些功能预测;但这似乎很脏。

在其他类型的模型中,例如使用内核的模型,通过设置与特征直接相关的超参数,您可以更轻松地做到这一点。

如果您试图限制过度拟合,我还建议您删除您认为不太重要的特征。

【讨论】:

非常感谢!这有助于解决我的问题。 :)

以上是关于Python分类定义特征重要性的主要内容,如果未能解决你的问题,请参考以下文章

映射 - 特征重要性与标签分类

获取转换后用于分类的最重要特征的名称

随机森林特征重要性 Python

如何使用线性支持向量机 (SVM) 分类器确定最重要/信息量最大的特征

如何计算所有特征与目标变量(二元分类器,python 3)的相关性?

带有列名的pyspark随机森林分类器特征重要性