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


Python tf.feature_column.categorical_column_with_hash_bucket用法及代碼示例


表示通過散列設置 id 的稀疏特征。

用法

tf.feature_column.categorical_column_with_hash_bucket(
    key, hash_bucket_size, dtype=tf.dtypes.string
)

參數

  • key 標識輸入特征的唯一字符串。它用作特征解析配置、特征Tensor 對象和特征列的列名和字典鍵。
  • hash_bucket_size 一個 int > 1。桶的數量。
  • dtype 特征的類型。僅支持字符串和整數類型。

返回

  • 一個HashedCategoricalColumn

拋出

  • ValueError hash_bucket_size 不大於 1。
  • ValueError dtype 既不是字符串也不是整數。

當您的稀疏特征是字符串或整數格式,並且您希望通過散列將輸入分配到有限數量的桶中時,請使用此選項。 output_id = Hash(input_feature_string) % bucket_size 用於字符串類型輸入。對於 int 類型輸入,首先將值轉換為其字符串表示形式,然後通過相同的公式進行哈希處理。

對於輸入字典 features , features[key]TensorSparseTensor 。如果 Tensor ,缺失值可以用 -1 表示 int 和 '' 表示 string,這將被此特征列刪除。

例子:

import tensorflow as tf
keywords = tf.feature_column.categorical_column_with_hash_bucket("keywords",
10000)
columns = [keywords]
features = {'keywords':tf.constant([['Tensorflow', 'Keras', 'RNN', 'LSTM',
'CNN'], ['LSTM', 'CNN', 'Tensorflow', 'Keras', 'RNN'], ['CNN', 'Tensorflow',
'LSTM', 'Keras', 'RNN']])}
linear_prediction, _, _ = tf.compat.v1.feature_column.linear_model(features,
columns)

# or
import tensorflow as tf
keywords = tf.feature_column.categorical_column_with_hash_bucket("keywords",
10000)
keywords_embedded = tf.feature_column.embedding_column(keywords, 16)
columns = [keywords_embedded]
features = {'keywords':tf.constant([['Tensorflow', 'Keras', 'RNN', 'LSTM',
'CNN'], ['LSTM', 'CNN', 'Tensorflow', 'Keras', 'RNN'], ['CNN', 'Tensorflow',
'LSTM', 'Keras', 'RNN']])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.feature_column.categorical_column_with_hash_bucket。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。