categorical_column_with_identity:把numerical data转乘one hot encoding
但是该函数不直接对文本的list进行处理
参数介绍:
def categorical_column_with_identity(key,
num_buckets,
default_value=None):
key: 要求输入features是一个字典,key是特征名称,value表示特征值。
num_buckets: 分桶的个数
输出:
N*num_buckets的矩阵,N表示样本的个数
案例
import tensorflow as tf
pets = {'animals': [2, 0, 1]} #猪0,猫1,狗2
column = tf.feature_column.categorical_column_with_identity(
key='animals',
num_buckets=3)
indicator = tf.feature_column.indicator_column(column)
tensor = tf.feature_column.input_layer(pets, [indicator])
with tf.Session() as session:
print(session.run([tensor]))
结果
[array([[0., 0., 1.], #狗
[1., 0., 0.], #猪
[0., 1., 0.]], dtype=float32)] #猫