tensorflow的特征工程函数

1、

# creates a real valued column for dense numeric data
tf.contrib.layers.real_valued_column(
    column_name,
    dimension=1,
    default_value=None,
    dtype=tf.dtypes.float32,
    normalizer=None
)

 

2、我们无法将字符串直接输入模型。相反,我们必须先将字符串映射到数字或分类值。分类词汇列提供了一种以 one-hot 矢量表示字符串的好方法

1 tf.feature_column.categorical_column_with_vocabulary_list(
2     key,
3     vocabulary_list,
4     dtype=None,
5     default_value=-1,
6     num_oov_buckets=0
7 )

 

3、

1 """
2 For DNN model, indicator_column can be used to wrap any categorical_column_* (e.g., to feed to DNN). Consider to Use embedding_column if the number of buckets/unique(values) are large.
3 
4 For Wide (aka linear) model, indicator_column is the internal representation for categorical column when passing categorical column directly (as any element in feature_columns) to linear_model. See linear_model for details.
5 """
6 
7 tf.feature_column.indicator_column(categorical_column)

 

4、对列进行embedding

 1 tf.feature_column.embedding_column(
 2     categorical_column,
 3     dimension,
 4     combiner='mean',
 5     initializer=None,
 6     ckpt_to_load_from=None,
 7     tensor_name_in_ckpt=None,
 8     max_norm=None,
 9     trainable=True
10 )

 

5、对于数值形特征

tf.feature_column.numeric_column('age')

 

6、分箱离散化

在处理连续值特征的时候通常会做分箱的操作。在tensorflow中可以这样做:
 
age_buckets = tf.feature_column.bucketized_column(
    age, boundaries=[18, 25, 30, 35, 40, 45, 50, 55, 60, 65])

 

7、特征交叉处理,这也是很场景的一种特征处理方法,经常能学习到联合特征的权重

1 tf.feature_column.crossed_column(fea_list, hash_bucket_size=hash_size)

 

8、tf.SparseTensor()

  • indices:density_shape[N, ndims]的2-D int64张量,指定稀疏张量中包含非零值(元素为零索引)的元素的索引.例如,indices=[[1,3], [2,4]]指定索引为[1,3]和[2,4]的元素具有非零值.
  • values:任何类型和dense_shape [N]的一维张量,它提供了indices中的每个元素的值.例如,给定indices=[[1,3], [2,4]]的参数values=[18, 3.6]指定稀疏张量的元素[1,3]的值为18,张量的元素[2,4]的值为3.6.
  • dense_shape:density_shape[ndims]的一个1-D int64张量,指定稀疏张量的dense_shape.获取一个列表,指出每个维度中元素的数量.例如,dense_shape=[3,6]指定二维3x6张量,dense_shape=[2,3,4]指定三维2x3x4张量,并且dense_shape=[9]指定具有9个元素的一维张量.
1 SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])

 

转载于:https://www.cnblogs.com/ylxn/p/10495503.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值