在 Tensorflow 中创建许多特征列

2024-01-26

我正在开始一个 Tensorflow 项目,并且正在定义和创建我的功能列。然而,我有成百上千个特征——这是一个相当广泛的数据集。即使经过预处理和清理,我仍然有很多列。

传统的创建方式feature_column定义在张量流教程 https://www.tensorflow.org/versions/master/tutorials/wide甚至这个StackOverflow 帖子 https://stackoverflow.com/questions/42965371/how-to-create-feature-columns-for-tensorflow-classifier。您本质上是为每个特征列声明并初始化一个 Tensorflow 对象:

gender = tf.feature_column.categorical_column_with_vocabulary_list(
    "gender", ["Female", "Male"])

如果您的数据集只有几列,那么这一切都很好,但就我而言,我当然不希望有数百行代码初始化不同的列feature_column对象。

解决这个问题的最佳方法是什么?我注意到在本教程中,所有列都收集为列表:

base_columns = [
    gender, native_country, education, occupation, workclass, relationship,
    age_buckets,
]

最终传递给您的估算器:

m = tf.estimator.LinearClassifier(
    model_dir=model_dir, feature_columns=base_columns)

理想的处理方式也是如此feature_column创建数百列是将它们直接附加到列表中吗?像这样的东西吗?

my_columns = []

for col in df.columns:
    if is_string_dtype(df[col]): #is_string_dtype is pandas function
        my_column.append(tf.feature_column.categorical_column_with_hash_bucket(col, 
            hash_bucket_size= len(df[col].unique())))

    elif is_numeric_dtype(df[col]): #is_numeric_dtype is pandas function
        my_column.append(tf.feature_column.numeric_column(col))

这是创建这些特征列的最佳方式吗?或者我是否缺少 Tensorflow 的某些功能来解决此步骤?


您在问题中发布的内容是有道理的。基于您自己的代码的小扩展:

import pandas.api.types as ptypes
my_columns = []
for col in df.columns:
  if ptypes.is_string_dtype(df[col]): 
    my_columns.append(tf.feature_column.categorical_column_with_hash_bucket(col, 
        hash_bucket_size= len(df[col].unique())))

  elif ptypes.is_numeric_dtype(df[col]): 
    my_columns.append(tf.feature_column.numeric_column(col))

  elif ptypes.is_categorical_dtype(df[col]): 
    my_columns.append(tf.feature_column.categorical_column(col, 
        hash_bucket_size= len(df[col].unique())))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Tensorflow 中创建许多特征列 的相关文章

随机推荐

  • C 中的异常处理 - setjmp() 返回 0 有什么用?

    我有一些有关 setjmp longjmp 使用的问题 setjmp jmp buf stackVariables 返回 0 有什么用 它是默认值 我们无法影响 setjmp stackVariables 的唯一意义就是将 stackVar
  • 如何从 Java 调用具体的 Scala 特征方法?

    我有一个 Java Scala 混合 Maven 项目 我需要重用 Saddle 方法make具体定义为称为特征的一部分Index 方法已定义here https github com saddle saddle blob master s
  • 在多屏幕环境中最大化窗口而不隐藏/阻止任务栏

    这是一篇写给所有曾经问过自己 如何在多屏幕设置中最大化窗口而不阻塞任务栏 的人的文章 问题似乎是一个窗口最大化框 and 最小化框设置为 false 并且在多屏幕环境中以编程方式最大化涵盖entire屏幕 不仅是屏幕 工作区 为了仅最大化工
  • 行为和事件触发器有什么区别?

    在 Xamarin Forms 中你有行为 https developer xamarin com guides cross platform xamarin forms working with behaviors 对某些事件执行某些操作
  • 使用 try-with-resources 语句声明 Stream 与不使用 try-with-resources 语句有什么区别?

    在Java 8中 Stream 即AutoCloseable 不能被重用 一旦被消耗或使用 流将被关闭 那么用 try with resources 语句声明的实用程序是什么 try with resources 语句的示例 public
  • 选择量角器中的第一个可见元素

    我正在编写量角器测试并且喜欢它 尽管有时似乎会陷入一些看起来应该很简单的事情 例如 我想循环浏览其中一个页面上包含 提名 文本的所有按钮 页面上有几十个 但只有 1 或 2 个可见 所以我想点击第一个 这是我当前使用的代码 var nomi
  • 在 Rails 模型中动态生成范围

    我想动态生成范围 假设我有以下模型 class Product lt ActiveRecord Base POSSIBLE SIZES small medium large scope small where size small scop
  • 通过 https 运行 Angular Cli Ng Serve 2018

    有没有办法可以通过 https 运行我的 Angular localhost 我尝试了一些不同的教程 但没有任何效果我尝试过 通过 https 为您的 Angular cli 应用程序提供服务 https freerangeeggs net
  • NodeJS Mongo - Mongoose - 动态集合名称

    所以 我想创建一个基于客户端的分区模式 其中我将集合名称设置为 function 我的伪代码是这样的 var mongoose require mongoose Schema mongoose Schema var ConvForUserS
  • 刷新令牌的正确方法

    有一个功能getUser in RequestManager class那叫我的VC func getUser onCompletion escaping result User error String gt Void Alamofire
  • Elmah.MVC 在生产环境中不记录错误

    我使用以下命令将 Elmah MVC 安装到我的 MVC 项目中Elmah MVC Nuget 包 http nuget org packages Elmah MVC 它在开发环境中工作正常 但是当我将网站上传到托管服务器 IIS7 时 它
  • 如何旋转仪表图表中的刻度盘?情节地使用Python

    我最近开始使用plotlypython 中的仪表图包 完成教程和模板后here https plot ly python gauge charts 我想知道是否有办法在给定角度值的情况下旋转 表盘 或 针 有人建议我使用 css 转换做到这
  • 如何将图例放置在带边框的字段集中? [复制]

    这个问题在这里已经有答案了 根据网络上的几个参考文献 不可能定位图例 所以建议用span包裹起来 legend span Foo span legend 然后我们可以将跨度定位在字段集中 但是当我想在字段集顶部添加边框时 图例有一个间隙 幸
  • 使用 openGL 的粒子过滤器扫描线

    我正在用 C 实现用于 3D 立方体跟踪的粒子过滤器 在为粒子分配权重时 我遇到了一个重大问题 因为权重基于样本点和像素之间的距离误差 在本例中 如下所述 目前 我可以从笔记本电脑上的摄像头获取视频流 将其显示在屏幕上并在其上绘制粒子 我还
  • 当要发送的请求是多部分请求时,Spring CSRF 令牌不起作用

    I use Spring 框架 4 0 0 发布 GA Spring Security 3 2 0 发布 正式版 支柱 2 3 16 其中 我使用内置的安全令牌来防范 CSRF 攻击 Struts 表单如下所示
  • 使用 VPN 从 Docker 容器内访问专用网络中的资源

    我在 OSX 上运行 Docker 1 9 1 并使用 Cisco AnyConnect VPN 连接到我的专用工作网络 我在 Docker 容器中运行的服务连接到工作网络内的数据库 并且无法从容器内部访问 但可以从 OSX 中的容器外部访
  • 未捕获的引用错误:当 jquery.js 位于文档末尾时 $ 未定义

    我有一个项目 其中所有 JS 文件都在页脚中引用 这是为了提高页面加载速度而建议的 包括指向 Jquery 文件的链接 这段代码产生了一个 Uncaught ReferenceError 我假设是因为在调用我的脚本之前尚未定义 Jquery
  • 如何从 SQL Server 2005 检索 XML 数据?

    我的脚本 Dim myStream myConnection myCommand Set myStream CreateObject ADODB Stream Set myConnection CreateObject ADODB Conn
  • 修改XML节点但保持XML文件格式不变

    如何修改 XML 文件而不进行任何更改 如属性排序 标签扩展和编码 我的偏好是 DOM API 你可以尝试VTD XML http vtd xml sourceforge net 由于该库在保持文件内容不变的同时构建索引 因此其操作 API
  • 在 Tensorflow 中创建许多特征列

    我正在开始一个 Tensorflow 项目 并且正在定义和创建我的功能列 然而 我有成百上千个特征 这是一个相当广泛的数据集 即使经过预处理和清理 我仍然有很多列 传统的创建方式feature column定义在张量流教程 https ww