【学习笔记】字符串转化为特征

这篇博客介绍了如何将字符串转化为神经网络的特征输入,包括使用词汇表创建独热编码和频数表示,以及利用`tf.feature_column.categorical_column_with_hash_buckets`进行分类的方法。文章还提及了批大小对模型训练的影响,并建议读者了解`_parse_function`以更好地处理tfrecord数据。
摘要由CSDN通过智能技术生成

在嵌套的练习中,我们首先要处理下tfrecord格式的文件,关于tfrecord的处理建议看一下这篇文章

我们这里主要讲解一下对于得到的字符串如何转化为特征输入。

先给出这次练习的: 训练集  验证集

我这里创建一个输入字典:

num = {'numbers': ['1', '1', '2', '3', '4', '5', '6'], 'prime': ['2', '3', '5', '7']}

再创立一个词汇表:

lst = ('1', '2')

下一步用词汇表返还字典的结果:

column = tf.feature_column.categorical_column_with_vocabulary_list(key='numbers', vocabulary_list=lst)

indicator = tf.feature_column.indicator_column(column)

tensor = tf.feature_column.input_layer(num, [indicator])

我们打印出结果看看:

with tf.Session() as sess:
    sess.run(tf.tables_initializer())
    print(sess.run(tensor))
[[1. 0.]
 [1. 0.]
 [0. 1.]
 [0. 0.]
 [0. 0.]
 [0. 0.]
 [0. 0.]]

我们这里很明显可以看出,对于num字典只处理了key为numbers的values()

我们这里字典的长度为2, num中numbers的长度为7,返回的结果的shape是(7,2)

如果在神经网络中我们输入的字典shape为(None)  这里None表示为不定长。 字典长度为50,那么返回的结果为(None, 50)

很明显这不是我们想要的。

 

这里我们更改一下写法:</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值