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


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