一、独热编码
独热编码,又称一位有效码,用序列化的数字(只有0和1)表达特征。主要思路是使用N位数字对N种情况进行编码。
举个例子,对[0,1,2,3]分别进行编码。由于有4种情况,序列的长度为4,对应数字的位置1,其余置0。所以:
[1,0,0,0]
[0,1,0,0]
[0,0,1,0]
[0,0,0,1]
二、几个必要函数
掌握了独热编码的规律,我们先来看一段代码,了解几个必要的函数。
import tensorflow as tf
#创建一维向量a和b,shape均为(3, )
a = tf.constant([1,2,3])
b = tf.constant([4,5,6])
#a和b在一维上连接,c的shape为(6, )
c = tf.concat([a,b],0)
#由于a和b是一维向量,无法连接,会报错
#c1 = tf.concat([a,b],1)
#将a和b扩充为二维向量,二者的shape均为(3,1)
t1 = tf.expand_dims(a,1)
t2 = tf.expand_dims(b,1)
#分别在第二维和第一维上连接
concated = tf.concat([t1,t2],1)
concated1 = tf.concat([t1,t2],0)
#查看结果
with tf.Session() as sess: