我注意到,当在一个特定的数据集(矩阵)上使用One Hot编码,并将其作为学习算法的训练数据时,相对于使用原始矩阵本身作为训练数据,它能够显著提高预测准确性。这种性能提升是如何发生的呢?
我注意到,当在一个特定的数据集(矩阵)上使用One Hot编码,并将其作为学习算法的训练数据时,相对于使用原始矩阵本身作为训练数据,它能够显著提高预测准确性。这种性能提升是如何发生的呢?
并非所有的学习算法都适用于此;决策树和派生模型例如随机森林,如果足够深,可以处理分类变量而无需进行独热编码。
为了通过独热编码增加特征,可以使用特征哈希。当您进行哈希处理时,可以将桶的数量指定为远少于新引入特征数量的数量。
当你想要预测类别时,你想要预测一组项目。不使用独热编码就像让类别有相邻的类别(例如:如果你使用类别的整数进行回归),以某种方式和特定顺序组织。
现在,如果你将类别0分配给0,类别1分配给1,类别2分配给2,而没有使用独热编码,而你的算法的预测不确定是否应该选择0或2:他是否应该预测1,尽管他认为它是0或2之一?
你看到了吧。对于你的数据输入也是如此:如果它们不应该被认为是相邻的,则不要将它们显示为相邻的输入给你的算法。