當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。