one-hot编码

one-hot编码是常用的编码方式之一,它可以将类别特征映射成只包含0和1的维向量进行输出。假设类别型特征共有n个不同的类别,进行编码前需要根据类别数量建立一个n维词表,在对词表中第i个类别进行one-hot编码时,会输出一个n维的特征向量,该向量中位置i的值为1,其余位置的值均为0。one-hot编码虽然简单易用,但它无法处理类别间具有的关联性,这在一定程度上会影响模型对参数的拟合,并且当类别数量巨大时,还会使编码后的数据变得十分稀疏,导致模型训练速度变慢、效果变差。


0949112a5e654992b36647f81be811f0.png


Word2vec编码

Word2vec编码最先出现在 NLP(Natural Language Processing)领域,因为其效果好,被广泛引入到其他领域进行使用。Word2vec编码克服了one-hot编码的缺点,通过Word2vec编码可以将类别型特征映射成具有上下文关联性的向量,并且该向量也具有固定大小,不会形成稀疏矩阵。Word2vec是基于CBOW(Continuous Bag-of-Words Model)和Skip-Gram模型进行编码。通过Word2vec编码的每个嵌入向量会在模型训练时进行自动更新以获得最好的上下文关联性表达,当模型训练结束后可以获得固定的编码向量。


59ccc6481f94492ca9751652e67e4d6b.jpeg



作者:名字太长显得比较长
来源:CSDN