当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.feature_column.bucketized_column用法及代码示例


表示由 boundaries 分桶的离散化密集输入。

用法

tf.feature_column.bucketized_column(
    source_column, boundaries
)

参数

  • source_column 使用 numeric_column 生成的一维密集列。
  • boundaries 指定边界的已排序列表或浮点数元组。

返回

  • 一个BucketizedColumn

抛出

  • ValueError 如果 source_column 不是数字列,或者它不是一维的。
  • ValueError 如果 boundaries 不是排序列表或元组。

桶包括左边界,不包括右边界。即,boundaries=[0., 1., 2.] 生成桶 (-inf, 0.) , [0., 1.) , [1., 2.)[2., +inf)

例如,如果输入是

boundaries = [0, 10, 100]
input tensor = [[-5, 10000]
                [150,   10]
                [5,    100]]

那么输出将是

output = [[0, 3]
          [3, 2]
          [1, 3]]

例子:

price = tf.feature_column.numeric_column('price')
bucketized_price = tf.feature_column.bucketized_column(
    price, boundaries=[...])
columns = [bucketized_price, ...]
features = tf.io.parse_example(
    ..., features=tf.feature_column.make_parse_example_spec(columns))
dense_tensor = tf.keras.layers.DenseFeatures(columns)(features)

bucketized_column 也可以使用 crossed_column 与另一个分类列交叉:

price = tf.feature_column.numeric_column('price')
# bucketized_column converts numerical feature to a categorical one.
bucketized_price = tf.feature_column.bucketized_column(
    price, boundaries=[...])
# 'keywords' is a string feature.
price_x_keywords = tf.feature_column.crossed_column(
    [bucketized_price, 'keywords'], 50K)
columns = [price_x_keywords, ...]
features = tf.io.parse_example(
    ..., features=tf.feature_column.make_parse_example_spec(columns))
dense_tensor = tf.keras.layers.DenseFeatures(columns)(features)
linear_model = tf.keras.experimental.LinearModel(units=...)(dense_tensor)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.feature_column.bucketized_column。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。