编程语言   发布时间:2022-06-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了推荐场景下的类别编码方式-Hash编码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

对于Category的特征,我们通常有两种方法把它变成一个数字:Label编码和hash编码;使用sklearn的LabelEncoder可以实现把Label编码成数字。

现在主要介绍使用hash方法对类别进行编码

1.在大型工业场景下,会源源不断地出现新的item,新的用户,新的id,原先的one-hot和W必须得到不断扩充,一种有效的方法是对特征本身做hash,将得到的数字作为它的ID,只要每台机器的hash算法一样,出来的值就是一样的。2.特征抽取中,可以对query id化,query的3-gram稀疏特征,即:在query上做步长为3的滑窗,然后加hash方法转为ID,如MurmurHash,这样1个query可以得到多个稀疏ID特征,分别进行嵌入,然后sum-pooling转成1个向量。3.hash编码是把每一个Category的字符串通过hash函数映射为0~一个固定的范围。它的优点是不用提前知道Category的所有可能值。4.hash表示的最大好处是它可以处理(至少是处理,处理的好不好是另一回事)所有类型的特征,只要你是能写出来的,就可以用string表示,只要你能用string表示,你就能hash。实际中完全可以先全部hash跑起来,然后再细分有些特征需不需要特别处理。5.业内有很多优质的Hash方法,比如MurmurHash、CityHash。6.经过哈希处理的数据将原始字符串映射到固定长度的数据。系统通过某种算法生成经过哈希处理的数据,这样可以保护原文的安全性。那么如果类别属性有上百种,并且分布比较平均那么直接用独热编码就会造成特征冗余或维度爆炸的问题。

数据hash方法转为ID示例(基于MurmurHash):

推荐场景下的类别编码方式-Hash编码

 

 实际使用时直接使用fh.transform做映射

大佬总结

以上是大佬教程为你收集整理的推荐场景下的类别编码方式-Hash编码全部内容,希望文章能够帮你解决推荐场景下的类别编码方式-Hash编码所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: