TensorFlow csv读取文件数据(代码实现)

大多数人了解 Pandas 及其在处理大数据文件方面的实用性。TensorFlow 提供了读取这种文件的方法。

前面章节中,介绍了如何在 TensorFlow 中读取文件,本文将重点介绍如何从 CSV 文件中读取数据并在训练之前对数据进行预处理。

将采用哈里森和鲁宾菲尔德于 1978 年收集的波士顿房价数据集(http://lib.stat.cmu.edu/datasets/boston),该数据集包括 506 个样本场景,每个房屋含 14 个特征:

  1. CRIM:城镇人均犯罪率
  2. ZN:占地 25000 平方英尺(1 英尺=0.3048 米)以上的住宅用地比例
  3. INDUS:每个城镇的非零售商业用地比例
  4. CHAS:查尔斯河(Charles River)变量(若土地位于河流边界,则为 1;否则为 0)
  5. NOX:一氧化氮浓度(每千万)
  6. RM:每个寓所的平均房间数量
  7. AGE:1940 年以前建成的自住单元比例
  8. DIS:到 5 个波士顿就业中心的加权距离
  9. RAD:径向高速公路可达性指数
  10. TAX:每万美元的全价值物业税税率
  11. PTRATIO:镇小学老师比例
  12. B:1000(Bk-0.63)2,其中 Bk 是城镇黑人的比例
  13. LSTAT:低地位人口的百分比
  14. MEDV:1000 美元自有住房的中位值
  15. 导入所需的模块并声明全局变量:                                                                                                                                                                            
  16. 定义一个将文件名作为参数的函数,并返回大小等于 BATCH_SIZE 的张量:                                                       
  17. 定义 f_queue 和 reader 为文件名:                                                                  
  18. 这里指定要使用的数据以防数据丢失。对 .csv 解码并选择需要的特征。例如,选择 RM、PTRATIO 和 LSTAT 特征:

  19. 定义参数来生成批并使用 tf.train.shuffle_batch() 来随机重新排列张量。该函数返回张量
    feature_batch 和 label_batch:
  20. 这里定义了另一个函数在会话中生成批:                                                                                      
  21. 使用这两个函数得到批中的数据。这里,仅打印数据;在学习训练时,将在这里执行优化步骤:

TensorFlow读取sv文件过程

TensorFlow csv数据预处理

用前面章节提到的 TensorFlow 控制操作和张量来对数据进行预处理。例如,对于波士顿房价的情况,大约有 16 个数据行的 MEDV 是 50.0。在大多数情况下,这些数据点包含缺失或删减的值,因此建议不要考虑用这些数据训练。可以使用下面的代码在训练数据集中删除它们:

这里定义了一个张量布尔条件,若 MEDV 等于 50.0 则为真。如果条件为真则可使用 TensorFlow tf.where() 操作赋为零值。

TensorFlow csv读取文件数据(代码实现)的更多相关文章

  1. FileInputStream 读取文件数据的输入字节流

    package com.inputstream; /* File类: 用于描述一个文件或者文件夹的. 通过File对象我们可以读取文件或者文件夹的属性数据,如果我们需要读取文件的内容数据,那么我们需要 ...

  2. MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement.

    MYSQL导入CSV格式文件数据执行提示错误(ERROR 1290): The MySQL server is running with the --secure-file-priv option s ...

  3. 【Python】sasa版:文件中csv读取在写入csv读取的数据和执行是否成功。

    sasa写的文件(包含解析文字) # coding=utf- from selenium import webdriver from time import sleep import keyword ...

  4. Ubuntu系统下MySQL读取文件数据ERROR解决

    博文链接:http://haoyuanliu.github.io/2016/04/29/mysql/ 对,我是来骗访问量的!O(∩_∩)O~~ 在使用MySQL进行文件数据读取的时候,在终端敲入命令行 ...

  5. python中读取文件数据时要注意文件路径

    我们在用python进行数据处理时往往需要将文件中的数据取出来做一些处理,这时我们应该注意数据文件的路径.文件路径不对,回报如下错误: FileNotFoundError: File b'..Adve ...

  6. Java读取文件加锁代码Demo(利用Java的NIO)

    本博文部分转载于:http://blog.csdn.net/wangbaochu/article/details/48546717 Java 提供了文件锁FileLock类,利用这个类可以控制不同程序 ...

  7. Python读取文件数据

    1题目要求: 文本文件有这些数据,需要的只有其中的5个属性,如下颜色标记 像以下的数据达到75万组: 1product/productId: B0000UIXZ4 2product/title: Ti ...

  8. 3、FileInputStream--->类文件输入流(读取文件数据)

    Api介绍 定义 FileInputStream 用于读取诸如图像数据之类的原始字节流.要读取字符流,请考虑使用 FileReader 构造方法 FileInputStream(File file) ...

  9. shell下读取文件数据

    参考:https://www.imzcy.cn/1553.html while和for对文件的读取是有区别的: 1. for对文件的读是按字符串的方式进行的,遇到空格什么后,再读取的数据就会换行显示 ...

随机推荐

  1. 【Java】 Java中的浅拷贝和深拷贝

    先抛出结论: 浅拷贝是引用拷贝,A对象拷贝B以后,A对象和B对象指向同一块内存地址,改变A对象的属性值会触发B对象属性的改变,有安全风险 深拷贝是对象拷贝,A对象拷贝B以后,A对象和B对象指向不同的额 ...

  2. PowerShell-6.文件操作

    1.显示文本内容 Get-Content "°C:\\Program Files (x86)\\PsUpdate\\b.dat" 2.得到b.dat文件内容,然后把里面的所有'C' ...

  3. 【antd Vue】封装upload图片上传组件(返回Base64)

    最近需要把上传的图片信息存储到数据库,以base64的方式,需要重新封装一下antd的upload组件 1. 使用方法 引入组件然后配置一下即可使用,配置项包括 defaultImageList,需要 ...

  4. FTP主动模式(PORT)与被动模式(PASV)

    待完善 参考文章0 参考文章1

  5. Identity Server4 数据迁移、持久化

    add-migration InitialPersistedGrantDb -c PersistedGrantDbContext -o Migrations/IdentityServer/Persis ...

  6. opencv——图像遍历以及像素操作

    摘要 我们在图像处理时经常会用到遍历图像像素点的方式,在OpenCV中一般有四种图像遍历的方式,在这里我们通过像素变换的点操作来实现对图像亮度和对比度的调整. 补充: 图像变换可以看成 像素变换--点 ...

  7. VBO、VAO和EBO

    Vertex Buffer Object 对于经历过fixed pipeline的我来讲,VBO的出现对于渲染性能提升让人记忆深刻.完了,暴露年龄了~ //immediate mode glBegin ...

  8. 改善c++程序的150个建议(读后总结)-------19-26

    19. 明白在c++中如何使用c c++可以兼容c的绝大部分代码,但是还是有一部分不能兼容. c语言的编译器在调用函数时会把函数翻译成 : "_函数名",例如: int nasa( ...

  9. Java on Visual Studio Code的更新 – 2021年4月

    杨尧今 from Microsoft VS Code Java Team 欢迎来到这一期的VS Code Java更新.又是一个忙碌而富有成效的月份. Java调试器和Java测试扩展获得了新功能.在 ...

  10. [刷题] 1016 部分A+B (15分)

    思路 以字符串形式接收 遍历字符串,组装数据,输出结果 #include <iostream> using namespace std; int main() { string a, b; ...