独热编码是否能避免虚拟变量陷阱

独热编码中存在一种称为虚拟变量陷阱的情况。例如,当我们对有三个类别的分类列进行编码,假设类别为a、b和c时,使用独热编码会得到三个类别或列,即a、b和c。但是,当我们使用get_dummies时,我们只会得到两个列,即a和b,这样就避免了虚拟变量陷阱。独热编码是否会受到虚拟变量陷阱的影响,还是它能避免这个问题?我是否正确理解?哪一种方法能避免虚拟变量陷阱?或者是否可以不删除列就同时使用这两种方法?我使用这些数据集来进行多种算法的处理。

寻求帮助,提前感谢。


回答:

OneHotEncoder无法直接处理字符串值。如果你的名义特征是字符串,那么你需要先将它们映射为整数。

pandas.get_dummies则恰恰相反。默认情况下,它只将字符串列转换为独热表示,除非指定了列。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注