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


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


表示实值或数值特征。

用法

tf.feature_column.numeric_column(
    key, shape=(1,), default_value=None, dtype=tf.dtypes.float32, normalizer_fn=None
)

参数

  • key 标识输入特征的唯一字符串。它用作特征解析配置、特征Tensor 对象和特征列的列名和字典键。
  • shape 整数的可迭代指定 Tensor 的形状。可以给出一个整数,这意味着具有给定宽度的单个维度Tensor。表示列的 Tensor 的形状为 [batch_size] + shape
  • default_value dtype 兼容的单个值或与 dtype 兼容的值的可迭代,如果数据丢失,列在 tf.Example 解析期间将采用该值。如果示例不包含此列,则默认值 None 将导致 tf.io.parse_example 失败。如果提供了单个值,则将应用相同的值作为每个项目的默认值。如果提供了可迭代的值,则 default_value 的形状应等于给定的 shape
  • dtype 定义值的类型。默认值为 tf.float32 。必须是非量化的实整数或浮点类型。
  • normalizer_fn 如果不是 None ,则应用可用于对 default_value 之后的张量值进行归一化的函数进行解析。 Normalizer 函数将输入 Tensor 作为其参数,并返回输出 Tensor 。 (例如 lambda x:(x - 3.0) /4.2)。请注意,即使此函数最常见的用例是规范化,它也可用于任何类型的 Tensorflow 转换。

返回

  • 一个NumericColumn

抛出

  • TypeError 如果 shape 中的任何维度不是 int
  • ValueError 如果形状中的任何维度不是正整数
  • TypeError 如果 default_value 是可迭代的但与 shape 不兼容
  • TypeError 如果 default_valuedtype 不兼容。
  • ValueError 如果 dtype 不能转换为 tf.float32

例子:

假设我们有两个特征 ab 的数据。

data = {'a':[15, 9, 17, 19, 21, 18, 25, 30],
   'b':[5.0, 6.4, 10.5, 13.6, 15.7, 19.9, 20.3 , 0.0]}

让我们将特征ab 表示为数字特征。

a = tf.feature_column.numeric_column('a')
b = tf.feature_column.numeric_column('b')

特征列说明了一组对输入的转换。

例如,对于 "bucketize" 函数 a ,将 a 列包装在 feature_column.bucketized_column 中。提供5 桶边界,bucketized_column api 将桶这个特征总共6 桶。

a_buckets = tf.feature_column.bucketized_column(a,
   boundaries=[10, 15, 20, 25, 30])

创建一个DenseFeatures 层,该层将应用由tf.feature_column 对象集说明的变换:

feature_layer = tf.keras.layers.DenseFeatures([a_buckets, b])
print(feature_layer(data))
tf.Tensor(
[[ 0.   0.   1.   0.   0.   0.   5. ]
 [ 1.   0.   0.   0.   0.   0.   6.4]
 [ 0.   0.   1.   0.   0.   0.  10.5]
 [ 0.   0.   1.   0.   0.   0.  13.6]
 [ 0.   0.   0.   1.   0.   0.  15.7]
 [ 0.   0.   1.   0.   0.   0.  19.9]
 [ 0.   0.   0.   0.   1.   0.  20.3]
 [ 0.   0.   0.   0.   0.   1.   0. ]], shape=(8, 7), dtype=float32)

相关用法


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