本文总结几种出现在tensorflow 的 feature_column api 的处理函数

1. feature_column 主要是连接数据和tf.estimator 之间的桥梁,将原始数据中的一些离散型、类别型特征转化成tensorflow 可使用的类型。并且神经网络只能处理数值型数据,而且在某些就算是数值类型的特征也需要做归一化,离散化等操作,这些都需要依赖feature_column 来做转化。

一般流程是:定义input_fn 来过滤、填补数据,然后输出到tf.feature_column 得到 feature_columns , 再将转化好的数据输入到tf.estimator , 在tf.estimator 中包含了DNNClassifier , DNNLinearCombineClassifier, LinearClassifier, 在Wide&Deep官方实现中就是使用这几种函数。

2. 那么现在需要构建特征列,具体介绍feature_column中主要使用的几个函数。

类别类型:

主要使用的是categorical_column_with_hast_bucket 以及categorical_column_with_identity

数值类型:

主要使用的是numeric_column, embedding_column, indicator_column, bucketized_column

在输入到网络的数值类型特征其实可以直接concat 到最终的向量中,一般不需要做这些类型转换

其中indicator 和 embedding columns不能直接作用在原始特征上,需要作用到categorical columns 上,将categorical column 得到的稀疏tensor 转换成one-hot 或者multi-hot 的稠密tensor

在类别类别中常使用的是categorical_column_with_hast_bucket, 尤其是词表不确定有多少的时候,或者词表特别大时浪费存储。我们可以指定hash_bucket_size 就可以避免,同时设置这个size 稍微大于总类别(其实就算小于总类别数,中间有哈希碰撞也不会太影响模型效果,实测)

组合类型:

多个特征组合成一个特征crossed column, 举个例子就是坐标信息(x,y )wide and deep 的官方实现中有使用到这个特征类型

另外,在同一个网络模型中,可能多个特征共享相同的embedding 映射空间,例如用户偏好歌曲id和行为序列中歌曲id,这时就可以用到tf.feature_column.shared_embedding_columns.(参数类似embedding column, 其返回值是和categrial column 相同维度)

还有一类特征,我们可以设定不同特征有不同的权重,例如我更关注用户的偏好而不关心用户地点信息,或者在行为序列中离的近的权重更大而离的远的权重小,那么我们可以使用weighted_categorical_column

tensorflow 特征预处理总结相关推荐

  1. 机器学习(4)特征预处理

    目录 一.基础理论 1.定义 2.特征数据的无量纲化 3.归一化.标准化分析 归一化 标准化 二.归一化 1.归一化基本原理 过程: 1.读取待处理数据 2.创建归一化转换器 3.归一化处理(调用fi ...

  2. K-近邻算法之特征工程-特征预处理

    K-近邻算法之特征工程-特征预处理 1 什么是特征预处理 1.1 特征预处理定义 scikit-learn的解释 provides several common utility functions a ...

  3. 机器学习算法基础——数据特征预处理

    08.特征预处理-归一化 特征处理 通过特定的统计方法(数学方法)将数据转换成算法要求的数据 数值型数据:标准缩放: 归一化 标准化 缺失值 类别型数据:one-hot编码            时间 ...

  4. 特征预处理--长尾分布的处理方案

    声明:版权所有,转载请联系作者并注明出处  http://blog.csdn.net/u013719780?viewmode=contents log变换的论文:http://snap.stanfor ...

  5. 机器学习系列|从白富美相亲看特征预处理与选择

    上篇 1. 引言 再过一个月就是春节,相信有很多码农就要准备欢天喜地地回家过(xiang)年(qin)了.我们今天也打算讲一个相亲的故事. 讲机器学习为什么要讲相亲?被讨论群里的小伙伴催着相亲,哦不, ...

  6. 【机器学习】特征预处理

    特征预处理 目标 了解数值型数据.类别型数据特点 应用MinMaxScaler实现对特征数据进行归一化 应用StandardScaler实现对特征数据进行标准化 1.什么是特征预处理 特征预处理:通过 ...

  7. 特征工程之特征预处理

    什么是特征预处理? 1 什么是特征预处理 scikit-learn的解释 provides several common utility functions and transformer class ...

  8. ​特征工程系列:特征预处理(上)

    特征工程系列:特征预处理(上) 关于作者:JunLiang,一个热爱挖掘的数据从业者,勤学好问.动手达人,期待与大家一起交流探讨机器学习相关内容~ 0x00 前言 数据和特征决定了机器学习的上限,而模 ...

  9. 特征工程系列:特征预处理(下)

    特征工程系列:特征预处理(下) 本文为数据茶水间群友原创,经授权在本公众号发表. 关于作者:JunLiang,一个热爱挖掘的数据从业者,勤学好问.动手达人,期待与大家一起交流探讨机器学习相关内容~ 0 ...

最新文章

  1. MSSQLSERVER数据库- 递归查询例子
  2. tcp连接的三次握手
  3. leetcode1424. 对角线遍历 II(排序)
  4. linux 常用 启动命令 汇总
  5. Linq中string转int的方法
  6. apache启服务命令_linux系统下apache服务的启动、停止、重启命令
  7. html设置外边距不合并,CSS外边距合并代码
  8. 深入理解JVM虚拟机(一):JVM运行时数据区
  9. python处理词项的停用词_词项邻近 停用词 词干还原
  10. ubuntu硬盘序列号怎么查询_Ubuntu16.04中查看硬盘的型号和读取速度
  11. 内网DNS重要使用作用
  12. 安装此计算机程序代码18,我安装VS15,运行程序代码的时候显示的是计算机丢失msv...
  13. 毕业设计-两轮自平衡小车主控板
  14. drcom linux最新版,Ubuntu高于8.04版本的源码安装drcom
  15. 4th 【最小生成树并查集】征兵
  16. python 网络编程基础
  17. Centos7安装docker并更改阿里云下载镜像地址(附带windows10安装docker教程)
  18. 速卖通如何避免差评?
  19. [Erlang危机](3.1)常见过载情景
  20. [踩坑]packets.go:428: busy buffer invalid connection

热门文章

  1. java lstm_人人都能看懂的LSTM介绍及反向传播算法推导(非常详细)
  2. 安装启动gui卡住_为Kali Linux中的Sqlmap配置 WEB-GUI 界面
  3. 此服务器的时钟与主域控制器的时钟不一致_基于域的GPS时钟同步配置
  4. 【Linux】Docker 基础与实战,看这一篇就够了
  5. java线程池1001java线程池_深入浅出Java(Android )线程池ThreadPoolExecutor
  6. linux配置本地yum(CentOS7)
  7. java 嵌套类 map_java – 将groupingBy用于嵌套Map,但收集到不同类型的对象
  8. 【转】Golang 关于通道 Chan 详解
  9. JsTree实现简单的CRUD
  10. window.location和window.open的区别