我想将连续变量的张量转换为桶,然后转换为分类张量(基于边界的一次热编码)
说我有这个
input = [1,2,3,4,5,6,7,8,9]
boundaries = [3.5, 5.5]
我想要以下输出:
buckets = [0, 0, 0, 1, 1, 2, 2, 2, 2]
categorical = [[1, 0, 0],
[1, 0, 0],
[1, 0, 0],
[0, 1, 0],
[0, 1, 0],
[0, 0, 1],
[0, 0, 1],
[0, 0, 1],
[0, 0, 1]]
我知道tf.feature_column.bucketized_column
和tf.feature_column.categorical_column_with_identity
,但是我想在纯张量上使用函数,而无需将数据转换为numeric_column
。
我也知道tf.one_hot
允许从categorical
获取buckets
,但是不知道如何从输入张量获取buckets
。
请帮忙吗?
答案 0 :(得分:1)
如问题中所述,使用tf.one_hot
从存储桶中获取类别,然后使用tf.python.ops.math_ops._bucketize
获取存储桶