csmhwu
  • 深度学习应用开发 - TensorFlow实践
  • 前言
  • 目录
  • 第一章 人工智能导论
    • 第一章 人工智能导论
      • 1.1 感受人工智能时代的到来
      • 1.2 人工智能发展概述,跌宕起伏的60年
      • 1.3 本讲小结与作业
  • 第二章 深度学习简介
    • 第二章 深度学习简介
      • 2.1 机器学习简介
      • 2.2 深度学习简介
      • 2.3 深度学习框架简介
      • 2.4 本讲小结与作业
  • 第三章 磨刀不误砍柴工:TensorFlow基础
    • 第三章 磨刀不误砍柴工:TensorFlow基础
      • 3.1 TensorFlow 基础
      • 3.2 TensorFlow名字的意义
      • 3.3 Tensor 张量
      • 3.4 TensorFlow计算模型 – 数据流图
      • 3.5 Operation 操作
      • 3.6 Session 会话
      • 3.7 常量与变量
      • 3.8 变量的赋值
      • 3.9 Placeholder 占位符
      • 3.10 Feed提交数据和Fetch提取数据
      • 3.11 TensorBoard可视化初步
      • 3.12 本讲小结与作业
  • 第四章 单变量线性回归:TesnsorFlow实战
    • 第四章 单变量线性回归:TesnsorFlow实战
      • 4.1一切从一个神经元说起
      • 4.2 基本术语
      • 4.3 定义损失函数
      • 4.4 模型训练与降低损失
      • 4.5 梯度下降法
      • 4.6 学习率
      • 4.7 超参数
      • 4.8 线性回归问题TensorFlow实战
      • 4.9 在训练中显示损失值
      • 4.10 TensorBoard可视化
      • 4.12 本章小结和作业
  • 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战
    • 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战
      • 5.1 波士顿房价预测问题简介
      • 5.2 机器学习中的基本线性代数
      • 5.3 准备建模
      • 5.4 数据读取
      • 5.5 构建模型
      • 5.6 训练模型
      • 5.7 进行预测
      • 5.8 后续版本改进
      • 5.9 本章小结和作业
  • 第六章 MNIST手写数字识别:分类应用入门
    • 第六章 MNIST手写数字识别:分类应用入门
      • 6.1 MNIST手写数字识别数据解读
      • 6.2 分类模型构建与训练
      • 6.3 本讲小结与作业
  • 第七章 MNIST手写数字识别进阶:多层神经网络与应用
    • 第七章 MNIST手写数字识别进阶:多层神经网络与应用
      • 7.1 单隐藏层神经网络构建与应用
      • 7.2 多层神经网络建模与模型的还原保存
      • 7.3 TensorBoard进阶与TensorFlow游乐场
      • 7.4 本讲小结与作业
  • 第八章 图像识别问题:卷积神经网络与应用
    • 第八章 图像识别问题:卷积神经网络与应用
      • 8.1从神经网络到卷积神经网络:解决参数太多的问题
      • 8.2 卷积神经网络的基本结构
      • 8.3 TensorFlow对卷积神经网络的支持
      • 8.4 CIFAR-10图像识别案例的TensorFlow实现
      • 8.5 本讲小结与作业
  • 第九章 Deep Dream:理解深度神经网络结构及应用
    • 第九章 Deep Dream:理解深度神经网络结构及应用
      • 9.1 Deep Dream:计算机生成梦幻图像
      • 9.2 经典深度神经网络与数据增强
      • 9.3 Inception模型文件导入与卷积层分析
      • 9.4 Deep Dream图像生成
      • 9.5 本讲小结与作业
  • 第十章 猫狗大战:迁移学习及应用
    • 第十章 猫狗大战:迁移学习及应用
      • 10.1 猫狗大战简介
      • 10.2 迁移学习简介
      • 10.3 数据准备
      • 10.4 VGG16的Tensorflow实现
      • 10.5 VGG16模型复用
      • 10.6 数据输入
      • 10.7 模型重新训练与保存
      • 10.8 预测
  • 第十一章 生成式对抗网络原理及Tensorflow实现
    • 第十一章 生成式对抗网络原理及Tensorflow实现
  • 第十二章 泰坦尼克号旅客生存预测:Keras应用实践
    • 第十二章 泰坦尼克号旅客生存预测:Keras应用实践
  • 第十三章 电影评论情感分析:自然语言处理与循环神经网络
    • 第十三章 电影评论情感分析:自然语言处理与循环神经网络
  • 第十四章 鸢尾花品种识别:TensorFlow.js应用开发
    • 第十四章 鸢尾花品种识别:TensorFlow.js应用开发
      • 14.1 TensorFlow.js 简介
      • 14.2 网页开发环境介绍
      • 14.3 TensorFlow.js 核心概念
      • 14.4 TF.js应用:鸢尾花品种识别
  • 第十五章 花卉识别App:TensorFlow Lite与移动应用开发
    • 第十五章 花卉识别App:TensorFlow Lite与移动应用开发
      • 15.1 TensorFlow Lite 基本介绍
      • 15.2 TensorFlow 基本架构
      • 15.3 TFLite应用:手机识别花型
  • 附录 1 工欲善其事必先利其器:TensorFlow开发环境搭建
    • 附录 1 工欲善其事必先利其器:TensorFlow开发环境搭建
      • 1.1 Windows平台下的TensorFlow开发环境搭建
      • 1.2 Linux环境下TensorFlow的安装
  • 附录 2 工欲善其事必先利其器:简明Python基础
    • 附录2 工欲善其事必先利其器:简明Python基础
      • 2.1 简单print用法
      • 2.2 变量
      • 2.3 标识符
      • 2.4 保留字
      • 2.5 数字数据类型
      • 2.6 布尔类型
      • 2.7 注释
      • 2.8 基本运算
      • 2.9 字符串
      • 2.10 列表
      • 2.11 元组
      • 2.12 集合
      • 2.13 字典
      • 2.14 print的格式化输出
      • 2.15 类型转化
      • 2.16 Python的行
      • 2.17 流程控制
      • 2.18 列表推导式
      • 2.19 循环嵌套(多重循环)
      • 2.20 break语句
      • 2.21 continue语句
      • 2.22 pass语句
      • 2.23 函数
      • 2.24 全局变量与局部变量
      • 2.25 类
      • 2.26 文件
      • 2.27 异常
      • 2.28 导入外部库
      • 2.29 获取帮助信息
    • 附录3 协同编书指南
Powered by GitBook
On this page

Was this helpful?

  1. 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战
  2. 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战

5.4 数据读取

Previous5.3 准备建模Next5.5 构建模型

Last updated 6 years ago

Was this helpful?

5.4.1 导入相关库

首先还是先导入后面要使用到的Python包

%matplotlib notebook

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.utils import shuffle

5.4.2 通过Pandas导入数据

我们要读取的波士顿房价数据是常规大小的数据,想快速此类数据文件时,通过创建读缓存区和其他的机制可能会造成额外的开销,此时建议采用Pandas库来处理。

Pandas官网( )这样介绍Pandas:

“Pandas是一款开源的、基于BSD协议的Python库,能够提供高性能、易用的数据结构和数据分析工具。”他具有以下特点:①能够从CSV文件、文本文件、MS Excel、SQL数据库,甚至是用于科学用途的HDF5格式②CSV文件加载能够自动识别列头,支持列的直接寻址③数据结构自动转换为Numpy的多维数组。

# 读取数据文件

df = pd.read_csv("data/boston.csv", header=0)

#显示数据摘要描述信息

print (df.describe())

Jupyter Notebook的交互界面会出现如图5-8所示的摘要描述信息。

5.4.3 载入本示例所需数据

# 获取df的值
df = df.values
print(df)

# 把 df 转换为 np 的数组格式
df = np.array(df)
print(df)

5.4.4 特征数据归一化

# 对特征数据 【0到11】列 做(0-1)归一化
for i in range(12):
    df[:,i]=df[:,i]/(df[:,i].max()-df[:,i].min())
    
# x_data 为 归一化后的前12列特征数据
x_data = df[:,:12] 

# y_data 为最后1列标签数据
y_data = df[:,12]

如图5-1所示,不同的评价指标往往具有不同的量纲(例如:对于评价房价来说量纲指:面积、房价数、楼层等;对于预测某个人患病率来说量纲指:身高、体重等。)和量纲单位(例如:面积单位:平方米、平方厘米等;身高:米、厘米等),这样的情况会影响到数据分析的结果,为了消除指标之间量纲的影响,需要进行数据标准化处理,已解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。

进行数据归一化后可以加快梯度下降求解最优解的速度,也可以提高精度。

http://pandas.pydata.org
图 5-8 显示数据摘要