【问题标题】:Feature eliminaton of dummy variables虚拟变量的特征消除
【发布时间】:2020-02-02 18:25:36
【问题描述】:

我有几个类别变量很多的分类变量。我使用 one-hot 编码将它们转换为 1-0 格式。

原文:

column_1    column_2
0.8            X        
0.3            C        
0.9            D        
1.2            C        

单热编码:

column_1    column_2_X   column_2_C  column_2_D  
0.8            1            0           0
0.3            0            1           0
0.9            0            0           1
1.2            0            1           0

然后我检查了它们的 feature_importances。

例如 column_2_C 对模型没有重要性,但其他具有相同类别 (A) 的模型具有显着重要性。

在这种情况下或任何其他情况下(%50 个类的重要性很高,其中 %50 个非常低)我该怎么办?如果 column_2_C 具有至关重要的意义,而其他列(X 和 D)根本不重要怎么办?

如果我删除该类会发生什么?这种情况有什么最佳做法吗?

提前致谢,

【问题讨论】:

    标签: categorical-data feature-selection dummy-variable


    【解决方案1】:

    如果您在模型中使用虚拟变量,则删除非显着变量或非混杂因素是合适的。但是,如果您保留原始分类变量,则不应从样本中删除这些观察结果。我需要更多关于你在做什么的信息。

    【讨论】:

    • 感谢您的回答,我正在尝试建立一个二元分类模型,我有几个数字和分类变量。认为分类变量之一是巧克力品牌。根据模型,巧克力品牌 A 具有显着重要性,但巧克力品牌 B 没有。如果我删除 Chocolate_brand_B 列是否合适?
    • 是的,你可以放弃 Chocolate_brand_B。因为 Chocolate_brand_A 仍然包含整个人口的是/否,对吗? Chocolate_brand_A 意义意味着那些是品牌 A 的人相对于那些不是品牌 A 的人或多/少可能有结果(无论你的结果是什么)。地狱,你可以保留它,甚至可能与你的其他变量发生交互正在探索。
    • 但是如果 Chocolate_brand_A 不包含对整个人群的是/否,我的意思是如果有 50 个不同的品牌,而其中只有 10 个对模型具有重要意义,该怎么办。在这种情况下,放弃其他40个品牌是否合适?
    • 这取决于您如何创建虚拟变量。通常,您创建一个虚拟变量,其中对于分类变量的原始值,对于整个总体而言,新变量是 1/0 或是/否。是的,删除其他不重要的变量是合适的(取决于您对重要性的定义)。您目前对虚拟变量的参考值是多少?
    • 我个人在建模之前通过查看每个自变量和因变量的单变量统计数据来过滤变量。我使用 R。我查看每个单变量 p 值并根据自己的阈值确定我决定将哪些变量包含在初始多变量模型中。
    猜你喜欢
    • 2021-07-20
    • 2018-10-28
    • 2017-07-30
    • 2015-02-01
    • 1970-01-01
    • 2018-06-20
    • 2021-05-06
    • 2017-02-26
    • 2017-05-10
    相关资源
    最近更新 更多