帶有詞匯文件的CategoricalColumn
。
用法
tf.compat.v1.feature_column.categorical_column_with_vocabulary_file(
key, vocabulary_file, vocabulary_size=None, num_oov_buckets=0,
default_value=None, dtype=tf.dtypes.string
)
參數
-
key
標識輸入特征的唯一字符串。它用作特征解析配置、特征Tensor
對象和特征列的列名和字典鍵。 -
vocabulary_file
詞匯文件名。 -
vocabulary_size
詞匯表中元素的數量。這必須不大於vocabulary_file
的長度,如果小於長度,則忽略後麵的值。如果為 None,則設置為vocabulary_file
的長度。 -
num_oov_buckets
非負整數,詞匯表外的桶數。所有超出詞匯表的輸入都將根據輸入值的散列分配[vocabulary_size, vocabulary_size+num_oov_buckets)
範圍內的 ID。不能用default_value
指定正的num_oov_buckets
。 -
default_value
為詞匯外特征值返回的整數 ID 值,默認為-1
。這不能用正的num_oov_buckets
來指定。 -
dtype
特征的類型。僅支持字符串和整數類型。
返回
-
帶有詞匯文件的
CategoricalColumn
。
拋出
-
ValueError
vocabulary_file
丟失或無法打開。 -
ValueError
vocabulary_size
缺失或 -
ValueError
num_oov_buckets
是一個負整數。 -
ValueError
num_oov_buckets
和default_value
均已指定。 -
ValueError
dtype
既不是字符串也不是整數。
當您的輸入是字符串或整數格式,並且您有一個將每個值映射到整數 ID 的詞匯表文件時,請使用此選項。默認情況下,詞匯表外的值被忽略。使用num_oov_buckets
和default_value
中的任何一個(但不能同時使用)來指定如何包含詞匯表外的值。
對於輸入字典 features
, features[key]
是 Tensor
或 SparseTensor
。如果 Tensor
,缺失值可以用 -1
表示 int 和 ''
表示 string,這將被此特征列刪除。
num_oov_buckets
示例:文件 '/us/states.txt' 包含 50 行,每行帶有 2 個字符的美國州縮寫。該文件中具有值的所有輸入都分配了一個 ID 0-49,對應於其行號。所有其他值都經過哈希處理並分配了 ID 50-54。
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=5,
num_oov_buckets=1)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)
default_value
示例:文件 '/us/states.txt' 包含 51 行 - 第一行是 'XX',其他 50 行各有 2 個字符的美國州縮寫。輸入中的文字 'XX' 和文件中缺少的其他值都將被分配 ID 0。所有其他值都被分配相應的行號 1-50。
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=6,
default_value=0)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)
並使用以下任一方式進行嵌入:
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=5,
num_oov_buckets=1)
columns = [tf.feature_column.embedding_column(states, 3)]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)
相關用法
- Python tf.compat.v1.feature_column.make_parse_example_spec用法及代碼示例
- Python tf.compat.v1.feature_column.linear_model用法及代碼示例
- Python tf.compat.v1.feature_column.shared_embedding_columns用法及代碼示例
- Python tf.compat.v1.feature_column.input_layer用法及代碼示例
- Python tf.compat.v1.foldr用法及代碼示例
- Python tf.compat.v1.fixed_size_partitioner用法及代碼示例
- Python tf.compat.v1.foldl用法及代碼示例
- Python tf.compat.v1.flags.BaseListParser用法及代碼示例
- Python tf.compat.v1.flags.FlagHolder用法及代碼示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代碼示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代碼示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代碼示例
- Python tf.compat.v1.distributions.Bernoulli.cross_entropy用法及代碼示例
- Python tf.compat.v1.Variable.eval用法及代碼示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代碼示例
- Python tf.compat.v1.layers.conv3d用法及代碼示例
- Python tf.compat.v1.strings.length用法及代碼示例
- Python tf.compat.v1.data.Dataset.snapshot用法及代碼示例
- Python tf.compat.v1.data.experimental.SqlDataset.reduce用法及代碼示例
- Python tf.compat.v1.data.TextLineDataset.from_tensors用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.feature_column.categorical_column_with_vocabulary_file。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。