Machine learning 使用word2vec编码分类特征是个好主意吗?

Machine learning 使用word2vec编码分类特征是个好主意吗?,machine-learning,nlp,word2vec,categorical-data,feature-engineering,Machine Learning,Nlp,Word2vec,Categorical Data,Feature Engineering,我面临着一个二进制预测任务,有一系列的特性,它们都是分类的。因此,一个关键的挑战是将这些分类特征编码为数字,我一直在寻找聪明的方法。 我无意中发现了word2vec,它主要用于NLP,但我想知道是否可以用它来编码我的变量,也就是说,只需将神经网络的权重作为编码特征 然而,我不确定这是否是一个好主意,因为在我的例子中,作为word2vec输入功能的上下文词或多或少是随机的,而word2vec最初是为真实句子设计的 你们对此有什么建议、想法和建议吗?如果你们正在寻找一种方法来利用分类变量的嵌入,你们

我面临着一个二进制预测任务,有一系列的特性,它们都是分类的。因此,一个关键的挑战是将这些分类特征编码为数字,我一直在寻找聪明的方法。 我无意中发现了word2vec,它主要用于NLP,但我想知道是否可以用它来编码我的变量,也就是说,只需将神经网络的权重作为编码特征

然而,我不确定这是否是一个好主意,因为在我的例子中,作为word2vec输入功能的上下文词或多或少是随机的,而word2vec最初是为真实句子设计的


你们对此有什么建议、想法和建议吗?

如果你们正在寻找一种方法来利用分类变量的嵌入,你们应该研究实体嵌入

  • 谷歌在这方面有一个很好的速成课程:
  • 这是一篇关于arxiv的优秀论文,由一个来自Kaggle竞赛的团队撰写:

当然可以使用word2vec算法来训练诸如关键字、标记、类别等的“密集嵌入”。这已经完成了,有时是有益的

在您的案例中,这是否是一个好主意取决于您的数据和目标——唯一确定的方法是尝试,并评估结果与您的备选方案。(例如,如果受控词汇表中的类别数量适中,则对类别进行一次热编码可能是可行的,并且取决于您在下游使用的二进制分类器的类型,分类器本身可能能够学习类别之间相同种类的微妙相互关系,否则也可以通过word2vec模型。另一方面,如果类别非常多且混乱,则将其“压缩”到更小的维度空间(其中相似类别具有相似的表示向量)的前一步可能更有用。)

这些标记与真实自然语言文本的频率分布和周围环境并不完全相同,这可能意味着值得在任何word2vec模型上尝试更广泛的非默认训练选项

特别是,如果你的类别没有一个自然的顺序来产生有意义的近邻关系,那么使用一个巨大的
窗口
(因此单个“文本”中的所有单词都在彼此的上下文中)可能值得考虑


Python的最新版本
gensim
Word2Vec
允许更改名为
ns_index
的参数,在许多早期实现中,该参数固定为
0.75
,但至少有一篇论文指出,对于某些语料库数据和类似推荐的应用程序,该值可能与该值相差很远

谢谢你的回复。您是否偶然想起一篇使用word2vec作为编码策略的论文?