如何为带有交叉术语的词汇表创建一个cros_column?那假设我有两个分类列
animal [dog, cat, puma, other]
food [pizza, salad, quinoa, other]
现在我想制作交叉列animal x food
- 但我已经完成了一些训练数据的频率计数(在导出tfrecords
之前用于训练张量流模型的火花中)和{{ 1}}只出现一次,puma x quinoa
从未出现过。所以我不想为他们生成功能,我认为我没有足够的训练样例来了解他们的权重应该是什么。我想要的是让他们两个都专注于“其他x其他”功能 - 我会学习某种平均重量来涵盖所有不经常使用的功能。
看起来我不能用cat x quinoa
做到这一点 - 任何想法如何在tf.feature_column.crossed_column
中做这样的事情?
或者,我不应该担心吗?如果我越过了所有的功能,我会得到20,但我认为只有18个很重要 - 所以可能将哈希地图大小设置为18或更少,导致冲突?然后包含第一个订单列tensorflow
和animal
,以便模型可以找出它正在查看的内容?这是我从阅读文档中获得的方法。我喜欢它因为它更简单,但我担心模型的准确性。
我认为我真正想要的是某种稀疏表查找,而不是对十字架进行散列 - 想象一下我有
food
并且column A - integer Ids, 1 to 10,000
column B - integer Ids, 1 to 10,000
column C - integer Ids, 1 to 10,000
之间的1万亿可能的十字架中只有100万我想要制作功能 - 所有其余的将进入100万+ 1其他x其他x其他功能,怎么会我是在张量流中做到的吗?