| 作者 |
| 张頔方巍 |
| 丛书名 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9781909061145 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------Python编程从0到1(视频教学版)--------------------------- 本书以Python语言构建了程序设计基础课程的教学体系。本书在对程序设计核心方法的探讨上较其他Python书籍更为全面和深入。通过对本书内容的学习,读者将全面地掌握用Python进行程序设计的基本能力。 本书分为4章,每章都细分为若干节,知识点非常详细。第1章向读者介绍Python的基本语法和程序设计的一般方法。第2章向读者介绍函数这一重要概念。第3章通过Python的内建类型讲述了常见数据结构。第4章讲解Python的面向对象特性。 本书适合大专院校理工科专业的Python教学,IT职业培训机构的Python类课程体系,以及自学Python的学习者。 ---------------------------Python数据挖掘与机器学习实战--------------------------- 本书作为数据挖掘入门读物,基于真实数据集进行案例实战,使用Python数据科学库,从数据预处理开始一步步介绍数据建模和数据挖掘的过程。主要介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带领读者轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用逻辑回归进行环境数据检测,如何使用HMM进行中文分词,如何利用卷积神经网络识别雷达剖面图,如何使用循环神经网络构建聊天机器人,如何使用朴素贝叶斯算法进行破产预测,如何使用DCGAN网络进行人脸生成等。本书也涉及神经网络、在线学习、强化学习、深度学习、大数据处理等内容。 本书适合对传统数据挖掘和机器学习算法开发感兴趣的读者阅读,也适合需要系统掌握深度学习的开发人员阅读。 |
| 目录 |
---------------------------Python编程从0到1(视频教学版)--------------------------- 前言 第1章 基础 1 1.1 历史 2 1.2 表达式 3 1.2.1 运算数 3 1.2.2 运算符 3 1.2.3 表达式的风格 4 1.2.4 表达式的嵌套 5 1.2.5 数据类型 5 1.2.6 副作用 6 1.2.7 小结 6 1.3 运行程序 6 1.3.1 交互执行模式 7 1.3.2 查阅帮助文档 8 1.3.3 执行Python程序脚本 9 1.3.4 标识符和关键字 10 1.3.5 运行环境的错误提示 11 1.3.6 示例:欧几里得算法 12 1.3.7 小结 15 1.4 内建类型、赋值和引用 15 1.4.1 字面值 15 1.4.2 构造方法 17 1.4.3 容器类型 18 1.4.4 索引和切片 22 1.4.5 左值、赋值和引用 24 1.4.6 del操作 29 1.4.7 小结 30 1.5 流程控制结构 30 1.5.1 if分支语句 30 1.5.2 布尔运算 33 1.5.3 while循环 34 1.5.4 for循环 40 1.5.5 条件表达式 42 1.5.6 定义简单函数 43 1.5.7 小结 44 1.6 输入/输出 44 1.6.1 标准输入/输出(I/O)流 44 1.6.2 重定向标准I/O至文件 45 1.6.3 用管道行串接I/O 46 1.6.4 标准I/O流对象 47 1.6.5 命令行参数 48 1.6.6 环境变量 49 1.6.7 格式化字符串 50 1.6.8 小结 51 1.7 简单练习 51 1.7.1 示例:打印金字塔图形 52 1.7.2 示例:3X+1问题 53 1.7.3 示例:绘制正多边形 54 1.7.4 示例:绘制函数曲线 55 1.7.5 示例:蒙特卡洛方法 56 1.7.6 示例:埃特金迭代法求方程的根 59 1.7.7 小结 61 1.8 程序执行模型 61 1.8.1 手段限制 62 1.8.2 无状态程序 62 1.8.3 有状态程序 67 1.8.4 线性存储器 73 1.8.5 使用栈设计程序 76 1.8.6 使用队列设计程序 79 1.8.7 小结 84 1.9 算法的性能描述 85 1.10 异常处理 87 1.10.1 基本语法 88 1.10.2 提升程序的健壮性 91 1.10.3 完整的异常捕获机制 94 1.10.4 小结 96 1.11 程序调试 97 1.12 总结 98 第2章 函数 99 2.1 函数基础 100 2.1.1 函数的作用 100 2.1.2 定义和调用函数 101 2.1.3 提供机制而非策略 102 2.1.4 用函数消除重复代码 103 2.1.5 Lambda表达式 105 2.1.6 回调函数 106 2.1.7 闭包 107 2.1.8 传参方式 108 2.1.9 文档字符串 110 2.1.10 小结 111 2.2 模块和包 111 2.2.1 处理名字冲突 111 2.2.2 模块与import 112 2.2.3 在模块中包含测试代码 113 2.2.4 模块搜索路径 113 2.2.5 包 114 2.2.6 小结 115 2.3 作用域和栈帧 115 2.3.1 名字的查找 115 2.3.2 nonlocal和global关键字 118 2.3.3 函数的调用栈 118 2.3.4 对象的生命期 119 2.3.5 小结 121 2.4 递归 121 2.4.1 单重递归 121 2.4.2 多重递归 124 2.4.3 示例:科赫雪花 125 2.4.4 示例:二叉树的后序遍历 127 2.4.5 消除尾递归 129 2.4.6 用栈和状态机消除递归 131 2.4.7 重复递归带来的性能陷阱 135 2.4.8 用动态规划消除重复递归 136 2.4.9 示例:通配符匹配 139 2.4.10 小结 141 2.5 类和成员方法 141 2.5.1 面向对象的函数调用风格 142 2.5.2 类和实例 143 2.5.3 定义类 144 2.5.4 创建实例 145 2.5.5 方法定义 145 2.6 高阶函数 147 2.6.1 对函数进行运算 148 2.6.2 函数装饰器 149 2.6.3 map和filter函数 152 2.6.4 小结 155 2.7 迭代器和生成器模式 155 2.7.1 可迭代对象和迭代器 156 2.7.2 生成器函数 157 2.7.3 列表推导式和生成器表达式 158 2.7.4 小结 160 2.8 总结 160 第3章 数据结构 161 3.1 列表 162 3.1.1 数组和内存 162 3.1.2 列表对象的结构 165 3.1.3 列表元素的插入 168 3.1.4 列表的排序 170 3.1.5 有序列表的二分查找 171 3.1.6 列表的基本操作接口 172 3.1.7 小结 173 3.2 链表 174 3.2.1 单链表 175 3.2.2 实现迭代器模式 178 3.2.3 用单链表实现栈 179 3.2.4 双向循环链表 180 3.2.5 用双向链表实现队列 182 3.2.6 双向链表的查找、插入和删除 183 3.2.7 小结 184 3.3 散列表 184 3.3.1 基本原理 185 3.3.2 应用示例 188 3.3.3 字典 189 3.3.4 小结 193 3.4 二叉树 194 3.4.1 概念和定义 194 3.4.2 表示和存储 196 3.4.3 遍历 198 3.4.4 二叉搜索树 200 3.4.5 二叉堆和优先队列 207 3.4.6 哈夫曼编码 209 3.4.7 小结 212 3.5 案例分析 212 3.5.1 deque链表块 212 3.5.2 OrderedDict有序字典 216 3.6 综合练习:寻路问题算法 218 3.6.1 图的表示 219 3.6.2 Dijkstra算法 221 3.6.3 A*算法 224 3.7 总结 231 第4章 面向对象 232 4.1 类 233 4.1.1 术语 233 4.1.2 成员方法 234 4.1.3 静态方法 236 4.1.4 类属性和类方法 237 4.1.5 私有成员 239 4.1.6 property装饰器 240 4.1.7 动态添加属性和slots 242 4.1.8 实例的生命周期 243 4.1.9 复制对象 244 4.1.10 小结 245 4.2 继承和多态 246 4.2.1 语法 246 4.2.2 如何设计类 249 4.2.3 多继承 251 4.2.4 鸭子类型和多态 252 4.2.5 小结 253 4.3 综合练习:GUI程序设计PyQt 253 4.3.1 安装PyQt 254 4.3.2 使用继承创建窗体 255 4.3.3 响应事件 256 4.3.4 小结 257 4.4 总结 257 参考文献 258 ---------------------------Python数据挖掘与机器学习实战--------------------------- 前言 第1章 机器学习基础 1 1.1 机器学习概述 2 1.2 机器学习的发展历程 2 1.3 机器学习分类 3 1.3.1 监督学习 3 1.3.2 无监督学习 3 1.3.3 强化学习 4 1.3.4 深度学习 4 1.4 机器学习的应用 4 1.5 开发机器学习的步骤 7 1.6 Python语言的优势 8 1.6.1 可执行伪代码 8 1.6.2 Python语言使用广泛 8 1.6.3 Python语言特色 8 1.6.4 Python语言的缺点 9 1.7 Python开发工具介绍 9 1.7.1 IDLE简介 10 1.7.2 IPython简介 11 1.7.3 PyCharm简介 11 1.7.4 Jupyter Notebook简介 12 1.7.5 Anaconda和Spyder简介 13 1.8 本章小结 15 第2章 Python语言简介 16 2.1 搭建Python开发环境 16 2.1.1 安装Anaconda 16 2.1.2 安装Spyder 18 2.1.3 运行和保存Python程序 19 2.2 Python计算与变量 19 2.2.1 用Python做简单的计算 20 2.2.2 Python的运算符 20 2.2.3 Python的变量 21 2.3 Python的字符串 22 2.4 Python的列表 23 2.5 Python的元组 25 2.6 Python的字典 27 2.7 网络爬虫的发展历史和分类 28 2.7.1 网络爬虫的发展历史 28 2.7.2 网络爬虫的分类 30 2.8 网络爬虫的原理 30 2.8.1 理论概述 30 2.8.2 爬虫的工作流程 31 2.9 爬虫框架介绍 36 2.9.1 Scrapy介绍 36 2.9.2 XPath介绍 39 2.10 网络爬虫的设计与实现 40 2.10.1 网络爬虫的总体设计 40 2.10.2 具体实现过程 40 2.10.3 爬虫结果与分析 45 2.11 本章小结 49 第3章 回归分析 50 3.1 回归分析概述 50 3.1.1 基本概念 50 3.1.2 可以解决的问题 51 3.1.3 回归分析的步骤 51 3.2 线性回归 51 3.2.1 简单线性回归分析 51 3.2.2 多元线性回归分析 52 3.2.3 非线性回归数据分析 52 3.3 用Python实现一元线性回归 53 3.4 用Python实现多元线性回归 56 3.4.1 使用pandas读取数据 56 3.4.2 分析数据 57 3.4.3 线性回归模型 58 3.5 基于线性回归的股票预测 62 3.5.1 数据获取 62 3.5.2 数据预处理 63 3.5.3 编码实现 64 3.5.4 结果分析 65 3.6 逻辑回归 66 3.6.1 构造预测函数 67 3.6.2 构造损失函数J 68 3.6.3 梯度下降法求解最小值 69 3.7 基于逻辑回归的环境数据检测 71 3.7.1 数据来源 71 3.7.2 数据处理 72 3.7.3 异常数据分析 72 3.7.4 数据预测 74 3.8 本章小结 76 第4章 决策树与随机森林 77 4.1 决策树 77 4.1.1 决策树的基本原理 77 4.1.2 决策树的分类 78 4.1.3 决策树的优缺点 81 4.2 使用决策树对鸢尾花分类 82 4.2.1 Iris数据集简介 82 4.2.2 读取数据 83 4.2.3 鸢尾花类别 83 4.2.4 数据可视化 84 4.2.5 训练和分类 85 4.2.6 数据集多类分类 86 4.2.7 实验结果 86 4.3 随机森林 87 4.3.1 随机森林的基本原理 87 4.3.2 随机森林的收敛性 88 4.3.3 随机森林的OOB估计 89 4.3.4 随机森林的随机特征选取 89 4.3.5 随机森林的优缺点 90 4.4 葡萄酒数据集的随机森林分类 91 4.4.1 数据收集 91 4.4.2 相关库函数简介 92 4.4.3 数据基本分析 93 4.4.4 使用随机森林构建模型 97 4.4.5 实验结果 98 4.5 本章小结 99 第5章 支持向量机 100 5.1 SVM的工作原理及分类 100 5.1.1 支持向量机的原理 100 5.1.2 线性可分的支持向量机 101 5.1.3 非线性可分的支持向量机 102 5.2 核函数 103 5.2.1 核函数简介 103 5.2.2 几种常见的核函数 104 5.2.3 核函数如何处理非线性数据 104 5.2.4 如何选择合适的核函数 105 5.3 SVR简介 106 5.3.1 SVR原理 106 5.3.2 SVR模型 106 5.4 时间序列曲线预测 107 5.4.1 生成训练数据集 107 5.4.2 运用不同的核函数进行支持向量回归 108 5.4.3 生成测试数据集 109 5.4.4 预测并生成图表 110 5.4.5 获取预测误差 111 5.4.6 创建数据集 112 5.4.7 选取最优参数 112 5.4.8 预测并生成图表 112 5.4.9 获取预测误差 113 5.5 本章小结 114 第6章 隐马尔可夫模型 115 6.1 隐马尔可夫模型简介 115 6.1.1 隐马尔可夫模型的概念 115 6.1.2 详例描述 116 6.1.3 HMM流程 117 6.2 Viterbi算法 117 6.3 HMM模型用于中文分词 119 6.3.1 UI界面 119 6.3.2 数据及其编码 119 6.3.3 HMM模型 121 6.3.4 实验结果 122 6.4 本章小结 124 第7章 BP神经网络模型 125 7.1 背景介绍 125 7.2 结构特点 126 7.3 网络模型 126 7.4 人工神经网络简介 127 7.4.1 神经元 127 7.4.2 单层神经网络 128 7.4.3 双层神经网络 129 7.4.4 多层神经网络 130 7.5 BP神经网络 131 7.6 通过TensorFlow实现BP神经网络 132 7.7 本章小结 134 第8章 卷积神经网络 135 8.1 传统图像识别技术 135 8.1.1 图像预处理 135 8.1.2 图像特征提取 136 8.1.3 图像分类方法 136 8.2 卷积神经网络结构简介 137 8.2.1 卷积神经网络发展历程 137 8.2.2 卷积神经网络结构简介 137 8.3 卷积神经网络的结构及原理 139 8.3.1 卷积层 139 8.3.2 池化层 140 8.3.3 激活函数 142 8.3.4 全连接层 144 8.3.5 反馈运算 144 8.4 卷积神经网络的优点 146 8.5 雷达剖面图识别模型 148 8.5.1 数据准备 148 8.5.2 构建模型 150 8.6 模型测试分析 157 8.6.1 部署基本模块 157 8.6.2 创建项目结构 157 8.6.3 训练网络 158 8.6.4 自动化测试 158 8.7 本章小结 160 第9章 循环神经网络 161 9.1 自然语言处理 161 9.1.1 自然语言处理概述 161 9.1.2 自然语言处理应用 162 9.2 对话系统 163 9.2.1 对话系统分类 163 9.2.2 聊天机器人分类 164 9.3 基于LSTM结构的循环神经网络 165 9.3.1 循环神经网络 165 9.3.2 通过时间反向传播 166 9.3.3 长短期记忆网络(LSTM) 169 9.4 Seq2Seq模型 172 9.4.1 Encoder-Decoder框架 173 9.4.2 Attention机制 174 9.5 聊天机器人的程序实现 176 9.5.1 准备数据 176 9.5.2 创建模型 178 9.5.3 训练模型 179 9.5.4 测试模型 180 9.6 本章小结 181 第10章 聚类与集成算法 182 10.1 聚类方法简介 182 10.1.1 聚类定义 183 10.1.2 聚类要求 183 10.2 聚类算法 184 10.2.1 划分方法 184 10.2.2 层次方法 184 10.2.3 基于密度的方法 184 10.2.4 基于网格的方法 185 10.2.5 基于模型的方法 185 10.3 K-Means算法 185 10.3.1 K-Means算法概述 185 10.3.2 K-Means算法流程 185 10.3.3 K-Means算法实现 186 10.3.4 实验结果及分析 188 10.3.5 K-Means算法存在的问题 188 10.4 K-Means++算法 189 10.4.1 K-Means++的基本思想 189 10.4.2 K-Means++的数学描述 190 10.4.3 K-Means++算法流程 190 10.5 K-Means++的实现 191 10.5.1 数据集 191 10.5.2 代码实现 192 10.5.3 K-Means++实验结果 193 10.6 Adaboost集成算法的原理 194 10.6.1 Boosting算法的基本原理 194 10.6.2 Adaboost算法介绍 195 10.6.3 Adaboost分类问题的损失函数优化 197 10.6.4 Adaboost二元分类问题的算法流程 198 10.6.5 Adaboost回归问题的算法流程 199 10.6.6 Adaboost算法的正则化 200 10.6.7 Adaboost的优缺点 200 10.7 Adaboost算法实现 201 10.7.1 数据集处理 201 10.7.2 实现过程 201 10.7.3 实验结果分析 206 10.8 本章小结 208 第11章 其他机器学习算法 209 11.1 贝叶斯分类器 210 11.1.1 概率基础知识 210 11.1.2 贝叶斯决策准则 211 11.1.3 极大似然估计 212 11.2 贝叶斯分类模型 213 11.2.1 朴素贝叶斯分类模型 213 11.2.2 半朴素贝叶斯分类模型 216 11.2.3 贝叶斯网络分类模型 217 11.3 朴素贝叶斯分类器在破产预测中的应用 219 11.3.1 数据集 219 11.3.2 训练多项式朴素贝叶斯模型 220 11.4 在线学习 222 11.4.1 线性模型的在线学习 222 11.4.2 非线性模型的在线学习 224 11.5 Bandit在线学习算法 225 11.5.1 Bandit算法与推荐系统 226 11.5.2 常用Bandit算法 226 11.6 Bandit算法原理及实现 228 11.7 GAN网络 229 11.7.1 GAN产生的背景 230 11.7.2 模型结构 230 11.7.3 GAN的实现原理 232 11.8 DCGAN网络 236 11.8.1 模型结构 236 11.8.2 反卷积 237 11.9 DCGAN人脸生成 240 11.9.1 实验准备 240 11.9.2 关键模块的实现 240 11.9.3 实验结果展示 243 11.10 本章小结 245 附录A 机器学习常见面试题 246 附录B 数学基础 257 B.1 常用符号 257 B.2 数学基础知识 259 B.2.1 线性代数 259 B.2.2 概率论 261 B.2.3 信息论 262 参考文献 264 |