【问题标题】:is one hot encoding is free of the dummy trap [closed]是一种热编码没有虚拟陷阱[关闭]
【发布时间】:2018-10-24 04:46:44
【问题描述】:

在一个热编码器中有一种叫做虚拟陷阱的东西,即当我们用 3 个类别对分类列进行编码时,例如 a、b 和 c,然后使用一个热编码器,我们会得到 3 个类别,例如列 a、b 和c 但是当我们使用 get_dummies 时,我们得到 2 列而不是 a,然后 b 从虚拟陷阱中保存。是一种暴露于虚拟陷阱的热编码,或者它会处理它。我对吗?哪一个是虚拟陷阱的保存?还是可以将两者与我们的删除列一起使用,我将数据集用于许多算法。

寻求帮助。提前致谢。

【问题讨论】:

    标签: machine-learning deep-learning bigdata data-science


    【解决方案1】:

    OneHotEncoder 不能直接处理字符串值。如果您的标称特征是字符串,那么您需要先将它们映射为整数。

    pandas.get_dummies 正好相反。默认情况下,它只将字符串列转换为 one-hot 表示,除非指定了列。

    【讨论】:

    • @Hendouzyou 在这种情况下是对的,我想知道他们是否关心虚拟陷阱或者我们必须在编码后删除一个变量
    • 抱歉,您能否明确说明您所说的“虚拟陷阱”是什么意思
    • @HENDOUZ 我的意思是,例如在 get_dummies 中,有一个名为 pd.get_dummies(df.Age, prefix, 'age').iloc[:,1] 的参数我们删除第一个变量,这样我们就没有任何问题。在 oneHot 编码中,我们如何在编码后删除第一个变量。新变量名怎么样,会被数值替换吗?
    猜你喜欢
    • 1970-01-01
    • 2021-08-20
    • 2019-07-19
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    相关资源
    最近更新 更多