Python程序设计:人工智能案例实践

Book description

本书共16章。第1~10章介绍Python编程,涉及人工智能、基本描述统计、集中趋势和分散度量、模拟、静态和动态可视化、使用CSV文件、用于数据探索和数据整理的Pandas、时间序列和简单线性回归。第11~16章提供多种实践案例研究,涉及自然语言处理、Twitter数据挖掘、IBM Watson认知计算、包含分类和回归的有监督机器学习、聚类无监督机器学习、卷积神经网络深度学习、递归神经网络深度学习、包含Hadoop/Spark/NoSQL/物联网的大数据等。

Table of contents

  1. 审稿人评论
  2. 译者序
  3. 前言
  4. 作者简介
  5. 开始阅读本书之前
  6. 第一部分 Python基础知识快速入门
    1. 第1章 Python及大数据概述
      1. 1.1 简介
      2. 1.2 快速回顾面向对象技术的基础知识
      3. 1.3 Python
      4. 1.4 Python库
        1. 1.4.1 Python标准库
        2. 1.4.2 数据科学库
      5. 1.5 试用IPython和Jupyter Notebook
        1. 1.5.1 使用IPython交互模式作为计算器
        2. 1.5.2 使用IPython解释器执行Python程序
        3. 1.5.3 在Jupyter Notebook中编写和执行代码
      6. 1.6 云和物联网
        1. 1.6.1 云
        2. 1.6.2 物联网
      7. 1.7 大数据有多大
        1. 1.7.1 大数据分析
        2. 1.7.2 数据科学和大数据正在带来改变:用例
      8. 1.8 案例研究:大数据移动应用程序
      9. 1.9 数据科学入门:人工智能—计算机科学与数据科学的交叉学科
      10. 1.10 小结
    2. 第2章 Python程序设计概述
      1. 2.1 简介
      2. 2.2 变量和赋值语句
      3. 2.3 算术运算
      4. 2.4 print函数、单引号和双引号
      5. 2.5 三引号字符串
      6. 2.6 从用户处获取输入
      7. 2.7 决策:if语句和比较运算符
      8. 2.8 对象和动态类型
      9. 2.9 数据科学入门:基础的描述性统计
      10. 2.10 小结
    3. 第3章 控制语句
      1. 3.1 简介
      2. 3.2 控制语句概述
      3. 3.3 if语句
      4. 3.4 if...else和if...elif...else语句
      5. 3.5 while语句
      6. 3.6 for语句
        1. 3.6.1 可迭代对象、列表和迭代器
        2. 3.6.2 内置函数range
      7. 3.7 增强赋值
      8. 3.8 序列控制迭代和格式化字符串
      9. 3.9 边界值控制的迭代
      10. 3.10 内置函数range:深入讨论
      11. 3.11 使用Decimal类型处理货币金额
      12. 3.12 break和continue语句
      13. 3.13 布尔运算符and、or和not
      14. 3.14 数据科学入门:集中趋势度量—均值、中值和众数
      15. 3.15 小结
    4. 第4章 函数
      1. 4.1 简介
      2. 4.2 函数定义
      3. 4.3 多参数函数
      4. 4.4 随机数生成
      5. 4.5 案例研究:一个运气游戏
      6. 4.6 Python标准库
      7. 4.7 math模块中的函数
      8. 4.8 在IPython中使用制表符自动补全
      9. 4.9 默认参数值
      10. 4.10 关键字参数
      11. 4.11 不定长参数列表
      12. 4.12 方法:属于对象的函数
      13. 4.13 作用域规则
      14. 4.14 import:深入讨论
      15. 4.15 向函数传递参数:深入讨论
      16. 4.16 递归
      17. 4.17 函数式编程
      18. 4.18 数据科学入门:离中趋势度量
      19. 4.19 小结
    5. 第5章 序列:列表和元组
      1. 5.1 简介
      2. 5.2 列表
      3. 5.3 元组
      4. 5.4 序列解包
      5. 5.5 序列切片
      6. 5.6 使用del声明
      7. 5.7 将列表传递给函数
      8. 5.8 列表排序
      9. 5.9 序列搜索
      10. 5.10 列表的其他方法
      11. 5.11 使用列表模拟堆栈
      12. 5.12 列表推导式
      13. 5.13 生成器表达式
      14. 5.14 过滤、映射和归约
      15. 5.15 其他的序列处理函数
      16. 5.16 二维列表
      17. 5.17 数据科学入门:模拟和静态可视化
        1. 5.17.1 掷600、60,000、6,000,000次骰子的图例
        2. 5.17.2 实现掷骰子中不同点数出现次数和百分比的可视化
      18. 5.18 小结
  7. 第二部分 Python数据结构、字符串和文件
    1. 第6章 字典和集合
      1. 6.1 简介
      2. 6.2 字典
        1. 6.2.1 创建字典
        2. 6.2.2 遍历字典
        3. 6.2.3 基本的字典操作
        4. 6.2.4 字典的keys和values方法
        5. 6.2.5 字典的比较
        6. 6.2.6 示例:学生成绩字典
        7. 6.2.7 示例:单词计数
        8. 6.2.8 字典的update方法
        9. 6.2.9 字典推导式
      3. 6.3 集合
        1. 6.3.1 集合的比较
        2. 6.3.2 集合的数学运算
        3. 6.3.3 集合的可变运算符和方法
        4. 6.3.4 集合推导式
      4. 6.4 数据科学入门:动态可视化
        1. 6.4.1 动态可视化的工作原理
        2. 6.4.2 实现动态可视化
      5. 6.5 小结
    2. 第7章 使用NumPy进行面向数组的编程
      1. 7.1 简介
      2. 7.2 从现有数据创建数组
      3. 7.3 数组属性
      4. 7.4 用特定值填充数组
      5. 7.5 从范围创建数组
      6. 7.6 列表与数组的性能比较:引入%timeit
      7. 7.7 数组运算符
      8. 7.8 NumPy计算方法
      9. 7.9 通用函数
      10. 7.10 索引和切片
      11. 7.11 视图:浅拷贝
      12. 7.12 视图:深拷贝
      13. 7.13 重塑和转置
      14. 7.14 数据科学入门:pandas Series和DataFrame
        1. 7.14.1 Series
        2. 7.14.2 DataFrame
      15. 7.15 小结
    3. 第8章 字符串:深入讨论
      1. 8.1 简介
      2. 8.2 格式化字符串
        1. 8.2.1 表示类型
        2. 8.2.2 字段宽度和对齐方式
        3. 8.2.3 数字格式化
        4. 8.2.4 字符串的format方法
      3. 8.3 拼接和重复字符串
      4. 8.4 去除字符串中的空白字符
      5. 8.5 字符大小写转换
      6. 8.6 字符串的比较运算符
      7. 8.7 查找子字符串
      8. 8.8 替换子字符串
      9. 8.9 字符串拆分和连接
      10. 8.10 字符串测试方法
      11. 8.11 原始字符串
      12. 8.12 正则表达式介绍
        1. 8.12.1 re模块与fullmatch函数
        2. 8.12.2 替换子字符串和拆分字符串
        3. 8.12.3 其他搜索功能、访问匹配
      13. 8.13 数据科学入门:pandas、正则表达式和数据治理
      14. 8.14 小结
    4. 第9章 文件和异常
      1. 9.1 简介
      2. 9.2 文件
      3. 9.3 文本文件处理
        1. 9.3.1 向文本文件中写入数据:with语句的介绍
        2. 9.3.2 从文本文件中读取数据
      4. 9.4 更新文本文件
      5. 9.5 使用JSON进行序列化
      6. 9.6 关注安全:pickle序列化和反序列化
      7. 9.7 关于文件的附加说明
      8. 9.8 处理异常
        1. 9.8.1 被零除和无效输入
        2. 9.8.2 try语句
        3. 9.8.3 在一条except子句中捕获多个异常
        4. 9.8.4 一个函数或方法引发了什么异常
        5. 9.8.5 try子句的语句序列中应该书写什么代码
      9. 9.9 finally子句
      10. 9.10 显式地引发一个异常
      11. 9.11 (选学)堆栈展开和回溯
      12. 9.12 数据科学入门:使用CSV文件
        1. 9.12.1 Python标准库模块csv
        2. 9.12.2 将CSV文件数据读入pandas DataFrame中
        3. 9.12.3 读取泰坦尼克号灾难数据集
        4. 9.12.4 用泰坦尼克号灾难数据集做简单的数据分析
        5. 9.12.5 乘客年龄直方图
      13. 9.13 小结
  8. 第三部分 Python高级主题
    1. 第10章 面向对象编程
      1. 10.1 简介
      2. 10.2 自定义Account类
        1. 10.2.1 试用Account类
        2. 10.2.2 Account类的定义
        3. 10.2.3 组合:对象引用作为类的成员
      3. 10.3 属性访问控制
      4. 10.4 用于数据访问的property
        1. 10.4.1 试用Time类
        2. 10.4.2 Time类的定义
        3. 10.4.3 Time类定义的设计说明
      5. 10.5 模拟“私有”属性
      6. 10.6 案例研究:洗牌和分牌模拟
        1. 10.6.1 试用Card类和DeckOfCards类
        2. 10.6.2 Card类:引入类属性
        3. 10.6.3 DeckOfCards类
        4. 10.6.4 利用Matplotlib显示扑克牌图像
      7. 10.7 继承:基类和子类
      8. 10.8 构建继承层次结构:引入多态性
        1. 10.8.1 基类CommissionEmployee
        2. 10.8.2 子类SalariedCommissionEmployee
        3. 10.8.3 以多态方式处理CommissionEmployee和SalariedCommissionEmployee
        4. 10.8.4 关于基于对象和面向对象编程的说明
      9. 10.9 鸭子类型和多态性
      10. 10.10 运算符重载
        1. 10.10.1 试用Complex类
        2. 10.10.2 Complex类的定义
      11. 10.11 异常类层次结构和自定义异常
      12. 10.12 具名元组
      13. 10.13 Python 3.7的新数据类简介
        1. 10.13.1 创建Card数据类
        2. 10.13.2 使用Card数据类
        3. 10.13.3 数据类相对于具名元组的优势
        4. 10.13.4 数据类相对于传统类的优势
      14. 10.14 使用文档字符串和doctest进行单元测试
      15. 10.15 命名空间和作用域
      16. 10.16 数据科学入门:时间序列和简单线性回归
      17. 10.17 小结
  9. 第四部分 人工智能、云和大数据案例研究
    1. 第11章 自然语言处理
      1. 11.1 简介
      2. 11.2 TextBlob
        1. 11.2.1 创建一个TextBlob对象
        2. 11.2.2 将文本标记为句子和单词
        3. 11.2.3 词性标注
        4. 11.2.4 提取名词短语
        5. 11.2.5 使用TextBlob的默认情感分析器进行情感分析
        6. 11.2.6 使用NaiveBayesAnalyzer进行情感分析
        7. 11.2.7 语言检测与翻译
        8. 11.2.8 变形:复数化和单数化
        9. 11.2.9 拼写检查和拼写校正
        10. 11.2.10 规范化:词干提取和词形还原
        11. 11.2.11 词频
        12. 11.2.12 从WordNet中获取单词定义、同义词和反义词
        13. 11.2.13 删除停用词
        14. 11.2.14 n元
      3. 11.3 使用柱状图和词云可视化词频
        1. 11.3.1 使用pandas可视化词频
        2. 11.3.2 使用词云可视化词频
      4. 11.4 使用Textatistic库进行可读性评估
      5. 11.5 使用spaCy命名实体识别
      6. 11.6 使用spaCy进行相似性检测
      7. 11.7 其他NLP库和工具
      8. 11.8 机器学习和深度学习自然语言应用
      9. 11.9 自然语言数据集
      10. 11.10 小结
    2. 第12章 Twitter数据挖掘
      1. 12.1 简介
      2. 12.2 Twitter API概况
      3. 12.3 创建一个Twitter账户
      4. 12.4 获取Twitter凭据,创建应用程序
      5. 12.5 什么是推文
      6. 12.6 Tweepy
      7. 12.7 通过Tweepy进行Twitter身份验证
      8. 12.8 获取一个Twitter账户的相关信息
      9. 12.9 Tweepy Cursor简介:获得一个账户的关注者和朋友
        1. 12.9.1 确定一个账户的关注者
        2. 12.9.2 确定一个账户的关注对象
        3. 12.9.3 获取一个用户的最新推文
      10. 12.10 搜索最新的推文
      11. 12.11 热门话题发现:Twitter热门话题API
        1. 12.11.1 有热门话题的地点
        2. 12.11.2 获取热门话题列表
        3. 12.11.3 根据热门话题创建词云
      12. 12.12 推文分析前的清理或预处理
      13. 12.13 Twitter流API
        1. 12.13.1 创建StreamListener的子类
        2. 12.13.2 启动流处理
      14. 12.14 推文情感分析
      15. 12.15 地理编码和映射
        1. 12.15.1 获取和映射推文
        2. 12.15.2 tweetutilities.py中的实用函数
        3. 12.15.3 LocationListener类
      16. 12.16 存储推文的方法
      17. 12.17 Twitter和时间序列
      18. 12.18 小结
    3. 第13章 IBM Watson和认知计算
      1. 13.1 简介
      2. 13.2 IBM云账户和云控制台
      3. 13.3 Watson服务
      4. 13.4 额外的服务和工具
      5. 13.5 Watson开发者云Python SDK
      6. 13.6 案例研究:旅行者翻译伴侣APP
        1. 13.6.1 准备工作
        2. 13.6.2 运行APP
        3. 13.6.3 SimpleLanguageTranslator.py脚本代码分析
      7. 13.7 Watson资源
      8. 13.8 小结
    4. 第14章 机器学习:分类、回归和聚类
      1. 14.1 简介
        1. 14.1.1 scikit-learn
        2. 14.1.2 机器学习的类别
        3. 14.1.3 scikit-learn中内置的数据集
        4. 14.1.4 典型的数据科学研究的步骤
      2. 14.2 案例研究:用k近邻算法和Digits数据集进行分类(第1部分)
        1. 14.2.1 k近邻算法
        2. 14.2.2 加载数据集
        3. 14.2.3 可视化数据
        4. 14.2.4 拆分数据以进行训练和测试
        5. 14.2.5 创建模型
        6. 14.2.6 训练模型
        7. 14.2.7 预测数字类别
      3. 14.3 案例研究:利用k近邻算法和Digits数据集进行分类(第2部分)
        1. 14.3.1 模型准确性指标
        2. 14.3.2 k折交叉验证
        3. 14.3.3 运行多个模型以找到最佳模型
        4. 14.3.4 超参数调整
      4. 14.4 案例研究:时间序列和简单线性回归
      5. 14.5 案例研究:基于加利福尼亚房价数据集的多元线性回归
        1. 14.5.1 加载数据集
        2. 14.5.2 使用pandas探索数据
        3. 14.5.3 可视化特征
        4. 14.5.4 拆分数据以进行训练和测试
        5. 14.5.5 训练模型
        6. 14.5.6 测试模型
        7. 14.5.7 可视化预测房价和期望房价
        8. 14.5.8 回归模型指标
        9. 14.5.9 选择最佳模型
      6. 14.6 案例研究:无监督学习(第1部分)—降维
      7. 14.7 案例研究:无监督学习(第2部分)—k均值聚类
        1. 14.7.1 加载Iris数据集
        2. 14.7.2 探索Iris数据集:使用pandas进行描述性统计
        3. 14.7.3 使用Seaborn的pairplot可视化数据集
        4. 14.7.4 使用KMeans估计器
        5. 14.7.5 主成分分析降维
        6. 14.7.6 选择最佳聚类估计器
      8. 14.8 小结
    5. 第15章 深度学习
      1. 15.1 简介
        1. 15.1.1 深度学习应用
        2. 15.1.2 深度学习演示
        3. 15.1.3 Keras资源
      2. 15.2 Keras内置数据集
      3. 15.3 自定义Anaconda环境
      4. 15.4 神经网络
      5. 15.5 张量
      6. 15.6 用于视觉的卷积神经网络:使用MNIST数据集进行多分类
        1. 15.6.1 加载MNIST数据集
        2. 15.6.2 数据探索
        3. 15.6.3 数据准备
        4. 15.6.4 创建神经网络模型
        5. 15.6.5 训练和评价模型
        6. 15.6.6 保存和加载模型
      7. 15.7 用TensorBoard可视化神经网络的训练过程
      8. 15.8 ConvnetJS:基于浏览器的深度学习训练和可视化
      9. 15.9 针对序列的递归神经网络:使用IMDb数据集进行情感分析
        1. 15.9.1 加载IMDb影评数据集
        2. 15.9.2 数据探索
        3. 15.9.3 数据准备
        4. 15.9.4 创建神经网络
        5. 15.9.5 训练和评价模型
      10. 15.10 调整深度学习模型
      11. 15.11 在ImageNet上预训练的CNN模型
      12. 15.12 小结
    6. 第16章 大数据:Hadoop、Spark、NoSQL和IoT
      1. 16.1 简介
      2. 16.2 关系数据库和结构化查询语言
        1. 16.2.1 books数据库
        2. 16.2.2 SELECT查询
        3. 16.2.3 WHERE子句
        4. 16.2.4 ORDER BY子句
        5. 16.2.5 从多个表中合并数据:INNER JOIN
        6. 16.2.6 INSERT INTO语句
        7. 16.2.7 UPDATE语句
        8. 16.2.8 DELETE FROM语句
      3. 16.3 NoSQL和NewSQL大数据数据库简述
        1. 16.3.1 NoSQL键-值数据库
        2. 16.3.2 NoSQL文档数据库
        3. 16.3.3 NoSQL列式数据库
        4. 16.3.4 NoSQL图数据库
        5. 16.3.5 NewSQL数据库
      4. 16.4 案例研究:MongoDB JSON文档数据库
        1. 16.4.1 创建MongoDB Atlas集群
        2. 16.4.2 将推文存入MongoDB中
      5. 16.5 Hadoop
        1. 16.5.1 概述
        2. 16.5.2 通过MapReduce汇总RomeoAndJuliet.txt中的单词长度
        3. 16.5.3 在Microsoft Azure HDInsight中创建Apache Hadoop集群
        4. 16.5.4 Hadoop流
        5. 16.5.5 实现映射器
        6. 16.5.6 实现归约器
        7. 16.5.7 准备运行MapReduce示例
        8. 16.5.8 运行MapReduce作业
      6. 16.6 Spark
        1. 16.6.1 概述
        2. 16.6.2 Docker和Jupyter Docker堆栈
        3. 16.6.3 使用Spark的单词计数
        4. 16.6.4 Microsoft Azure上的Spark单词计数
      7. 16.7 Spark流:使用pyspark-notebook Docker堆栈计算Twitter主题标签
        1. 16.7.1 将推文流式传输到套接字
        2. 16.7.2 总结推文主题标签,介绍Spark SQL
      8. 16.8 物联网和仪表板
        1. 16.8.1 发布和订阅
        2. 16.8.2 使用Freeboard仪表板可视化PubNub示例实时流
        3. 16.8.3 用Python模拟一个连接互联网的恒温器
        4. 16.8.4 使用freeboard.io创建仪表板
        5. 16.8.5 创建一个Python PubNub订阅服务器
      9. 16.9 小结
  10. 索引

Product information

  • Title: Python程序设计:人工智能案例实践
  • Author(s): 保罗 戴特尔, 哈维 戴特尔
  • Release date: August 2021
  • Publisher(s): Pearson
  • ISBN: 9787111678458

You might also like

book

云原生:运用容器、函数计算和数据构建下一代应用

by Boris Scholl, Trent Swanson, Peter Jausovec

开发者们刚开始接触云端服务开发的时候或多或少都会遇到一些障碍。既要学习分布式系统的知识,又要熟悉像容器和函数计算这样的新技术,还要综合运用这些知识来构建云原生应用实在是件令人望而生畏的事情。本书可以帮助你掌握构建云原生应用的方法,比如消息通信、事件通知和DevOps等。 本书介绍了构建现代云原生应用的架构模块。你将学会如何使用微服务、容器、无服务器架构、函数计算等技术,并挑选合适的存储类型,同时考虑可移植性等问题。你会从云原生应用的基础知识开始,一步步地了解设计、开发和运维云原生应用的整个过程。 探讨设计云原生应用所需的技术。 介绍容器和函数计算的区别,并学习它们的适用场景。 有针对性地设计应用来满足数据相关的需求。 学习DevOps的基础知识和一些开发、测试、运维实践。 学习一些构建和管理云原生应用的技巧、方法和实践。 理解构建一个具有可移植性的应用所需的代价,并且学会对需求做出取舍。

video

TensorFlow深度学习课程:深度神经网络在机器学习任务的应用

by 乔恩·克罗恩

课程简介 6小时以上的视频教学 TensorFlow深度学习在线课程是一个关于深度学习的教学,通过最流行的深度学习库TensorFlow及其高级API Keras的交互演示,将革命性的机器学习方法带入生活。通过白板,介绍了其基础理论,提供了一个对深度学习基础内容的直观理解,该基础即人工神经网络。基于Python的Jupyter笔记本中提供了克服常见陷阱的技巧,以及实际可操作可运行的代码,通过应用这些技巧和代码,掌握这种基础知识,可使那些以前不了解神经网络的人能够构建强大的最先进的深度学习模型。 Get技能 解释深度学习模型结果 调试和改进深度学习模型 理解人工神经网络语言和基础 建立你自己的深度学习项目

book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的权威指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。

book

C++语言导学(原书第2版)

by 本贾尼 斯特劳斯特鲁普

本书简洁、自成体系,包含C++ 语言大多数主要特性和标准库组件。当然,这些并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。本书的目标不是教你如何编程,它也不可能是你精通C++ 的唯一资源。但是,如果你是一名C 或C++ 程序员,希望更加熟悉现在的C++ 语言,或者你是一名精通其他语言的程序员,希望获得有关现代C++ 语言本质和优点的精确描述,本书是最优选择。