我的预测模型中既有分类特征,也有连续特征,我希望选择(和排序)最重要的特征。
我使用一个热编码将所有的分类变量转换为虚拟变量(为了更好地解释我的logistic回归模型)。
一方面,我使用LogisticRegression (sklearn),并通过使用它们的系数对最重要的特征进行排序。通过这种方式,我将分类变量和连续变量都视为最重要的特性。
另一方面,当我想使用决策树模型(SelectFromModel)对特征进行排序时,他们总是先给连续的特征排序(feature_importances_),然后给出分类(虚拟)变量。与Logistic回归完全不同的行为。
虽然决策树模型的性能远高于Logistic回归的性能(约15%),但我想知道哪些特征排序(决策树或Logistic回归)更正确?为什么决策树模型给予连续特征更多的优先权?
发布于 2020-01-15 15:37:08
这可能是你编码分类变量的方式。
如果您做了一个热编码(虚拟),每个编码的功能将只有两个可能的值0,1。二元变量在决策树中的重要性通常较小,因为它是如何计算特征权重的。
假设每一个例子,您都在试图预测Alive==0,Dead ==1的病人的病情。假设您有一个名为Head_Shot0,1的功能,这是非常罕见的,它在数据集中只出现了几次。
线性模型会给这个系数分配很多权重,因为它对目标变量是至关重要的。如果发生这种情况,其余的特性就没有意义了。
对于决策树,它可以在其中一棵树中进行分割,并且由于它计算了一个特征加权时间的重要性,它看起来不可能有这样一个相关的权重。
我猜你是在做一个热编码。与其他技术,这将是不同的。我还假设了计算特性重要性的方法。所以这远远不是一个科学的答案。
连续变量在决策树中可能具有更重要的意义,因为每一棵树都可以在其过程中进行多个分裂。
很抱歉,这个例子有点过激,但我相信这说明了问题所在。
发布于 2020-12-28 20:57:54
在决策树模型中,特征是根据参与的分割数排列的。连续特征被分割的频率比分类特征更多。
https://datascience.stackexchange.com/questions/66524
复制相似问题