1.作用
A sequence of categorical terms where ids are set by hashing.(翻译:将一个类别序列,进行hash映射。根据单词的序列顺序,把单词根据index转换成one hot encoding)
输入:
key | 一个唯一的字符串识别输入功能。 |
vocabulary_file | 词汇文件名。或者词的set集合。 |
vocabulary_size | 在词汇中元素的个数。这必须是不大于长度vocabulary_file ,如果低于长,后来值将被忽略。如果没有,它被设置为长度vocabulary_file 。 |
num_oov_buckets | 非负整数,词典外桶的数量。外的词汇所有输入将在范围内分配的ID [vocabulary_size, vocabulary_size+num_oov_buckets) 基于所述输入值的散列。正num_oov_buckets 不能指定default_value 。 |
default_value | 整数ID值返回为外的词汇特征值,默认为-1 。这不能以积极的指定num_oov_buckets 。 |
dtype | 该类型的特征。只有字符串和整数类型的支持。 |
输出:
一个SequenceCategoricalColumn
。
2.例子
import tensorflow as tf
sess=tf.Session()
#特征数据
features = {
'sex': ['male', 'male', 'female', 'female'],
}
#特征列
sex_column = tf.feature_column.categorical_column_with_vocabulary_list('sex', ['male', 'female'])
sex_column = tf.feature_column.indicator_column(sex_column)
#组合特征列
columns = [sex_column]
#输入层(数据,特征列)
inputs = tf.feature_column.input_layer(features, columns)
#初始化并运行
init = tf.global_variables_initializer()
sess.run(tf.tables_initializer())
sess.run(init)
v=sess.run(inputs)
print(v)
输出:
[[1. 0.]
[1. 0.]
[0. 1.]
[0. 1.]]
参考: