Hash 在预处理高基数数据时,您是先散列还是先进行一次热编码?
散列降低了维数,而一个热编码通过将多个分类变量转换为多个二进制变量,基本上破坏了特征空间。所以看起来它们有相反的效果。我的问题是: 在同一数据集上同时执行这两项操作的好处是什么?我读了一些关于捕捉互动的文章,但没有详细介绍——有人能详细介绍一下吗Hash 在预处理高基数数据时,您是先散列还是先进行一次热编码?,hash,machine-learning,dimensionality-reduction,one-hot-encoding,Hash,Machine Learning,Dimensionality Reduction,One Hot Encoding,散列降低了维数,而一个热编码通过将多个分类变量转换为多个二进制变量,基本上破坏了特征空间。所以看起来它们有相反的效果。我的问题是: 在同一数据集上同时执行这两项操作的好处是什么?我读了一些关于捕捉互动的文章,但没有详细介绍——有人能详细介绍一下吗 哪一个先来,为什么 需要二进制1热编码将分类数据提供给具有标准内核的线性模型和支持向量机。 例如,您可能有一个功能,它是一周中的一天。然后为它们中的每一个创建一个热编码 1000000 Sunday 0100000 Monday 0010000 Tue
哪一个先来,为什么 需要二进制1热编码将分类数据提供给具有标准内核的线性模型和支持向量机。 例如,您可能有一个功能,它是一周中的一天。然后为它们中的每一个创建一个热编码
1000000 Sunday
0100000 Monday
0010000 Tuesday
...
0000001 Saturday
特征散列主要用于对参数向量进行显著的存储压缩:将高维输入向量散列到低维特征空间。现在,得到的分类器的参数向量可以存在于低维空间,而不是原始输入空间。这可以作为一种降维方法,因此通常您希望通过降低性能来换取显著的存储好处
中的例子是一个很好的例子。假设您有三个文档:
- 约翰喜欢看电影
- 玛丽也喜欢电影
- 约翰也喜欢足球
- 通过将每个单词与唯一的用户id连接起来,复制每个标记,并对一个副本进行个性化处理(请参见USER123_NEU和USER123_Votre)李>
- bag of words模型现在包含常用关键字,也使用特定关键字
- 然后将所有单词散列到低维OANL特征空间中,在该空间中对文档进行训练和分类李>
bucket1 bucket2 bucket3
doc1: 3 2 0
doc2: 2 2 0
doc3: 1 0 2