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】:随机森林分类器中的特征重要性确定使用随机森林特定的方法(反转特征上的所有二元测试,并获得额外的分类错误)。
因此,特征重要性是一个与模型的预测能力相关的概念,而不是训练阶段。现在,如果你想让你的模型更喜欢某些特性而不是其他特性,你必须找到一些依赖于模型的技巧。
关于sklearn
的DecisionTreeClassifier
,这样的伎俩似乎并不简单。您可以自定义您的班级权重,如果您知道某些班级将更容易被您喜欢的某些功能预测;但这似乎很脏。
在其他类型的模型中,例如使用内核的模型,通过设置与特征直接相关的超参数,您可以更轻松地做到这一点。
如果您试图限制过度拟合,我还建议您删除您认为不太重要的特征。
【讨论】:
非常感谢!这有助于解决我的问题。 :)以上是关于Python分类定义特征重要性的主要内容,如果未能解决你的问题,请参考以下文章
如何使用线性支持向量机 (SVM) 分类器确定最重要/信息量最大的特征