【TensorFlow】(六)tf.feature_column.categorical_column_with_vocabulary_file()函数的作用及用法

1.作用

如果单词有些时候比较多,这时候可以直接从文件中读取文字列表。

输入:

key一个唯一的字符串识别输入功能。它是用来作为列名和功能解析CONFIGS字典键,配备了Tensor对象和功能栏。
vocabulary_file词汇文件名。
vocabulary_size在词汇中元素的个数。这必须是不大于长度vocabulary_file ,如果低于长,后来值将被忽略。如果没有,它被设置为长度vocabulary_file 。
dtype该类型的特征。只有字符串和整数类型的支持。
default_value整数ID值返回为外的词汇特征值,默认为-1 。这不能以积极的指定num_oov_buckets 。
num_oov_buckets非负整数,词典外桶的数量。外的词汇所有输入将在范围内分配的ID [vocabulary_size, vocabulary_size+num_oov_buckets)基于所述输入值的散列。正num_oov_buckets不能指定default_value 。

输出:

每一个特征的hash值。

2.例子

import tensorflow as tf
sess=tf.Session()
#特征数据
features = {
    'department': ['sport', 'sport', 'drawing', 'gardening', 'travelling'],
}
#特征列
department = tf.feature_column.categorical_column_with_vocabulary_file('department', './pets_fc.txt', dtype=tf.string)
department = tf.feature_column.indicator_column(department)
#组合特征列
columns = [department]
#输入层(数据,特征列)
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. 0. 0.] #sport
 [1. 0. 0. 0.] #sport
 [0. 1. 0. 0.] #drawing
 [0. 0. 1. 0.] #gardening
 [0. 0. 0. 1.]] #travelling

thinking

tf.feature_column.categorical_column_with_vocabulary_list()函数的区别:如果单词有些时候比较多,使用文件存储单词,使用该函数;若单词较少且已知,可以使用vocabulary_list函数,对单词做hash。

参考:

1.官方文档:https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_file

2.例子:https://blog.csdn.net/anshuai_aw1/article/details/105075335

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值