Python机器学习手册:从数据预处理到深度学习
  • 推荐0
  • 收藏3
  • 浏览3.2K

Python机器学习手册:从数据预处理到深度学习

Chris Albon (作者)  韩慧昌 (译者)

  • 书  号:978-7-121-36962-9
  • 出版日期:2019-07-09
  • 页  数:368
  • 开  本:16(178*233)
  • 出版状态:上市销售
  • 原书名: Python Machine Learning Cookbook: Practical solutions from preprocessing to deep learning
  • 原书号:9781491989388
  • 维护人:许艳
纸质版 ¥89.00
这是一本关于Python的图书,采用基于任务的方式来介绍如何在机器学习中使用Python。书中有近200个独立的解决方案(并提供了相关代码,读者可以复制并粘贴这些代码,用在自己的程序中),针对的都是数据科学家或机器学习工程师在构建模型时可能遇到的最常见任务,涵盖最简单的矩阵和向量运算到特征工程以及神经网络的构建。
本书不是机器学习的入门书,适合熟悉机器学习的理论和概念的读者摆在案头作为参考,他们可以借鉴书中的代码,快速解决在机器学习的日常开发中遇到的挑战。
采用基于任务的方式介绍机器学习
涵盖在构建机器学习模型时可能遇到的常见任务
提供近200个小任务的解决方案,以及代码

在过去几年中,机器学习已经渗透到企业、非营利组织和政府的日常运作中。随着机器学习热度的增长,在对机器学习从业者的指导方面上,涌现了一批高质量的文献。这类文献培养了整整一代的数据科学家和机器学习工程师。这类文献从提供学习资源的角度来探讨机器学习,为人们讲解机器学习是什么以及它的工作原理。尽管这种方法富有成效,但却遗漏了一部分内容:机器学习日常开发中的细节。这就是笔者写本书的动机——本书不是写给学生读者的学习机器学习理论的大部头,而是写给专业人士的“扳手型”工具书。我希望你把它放在书桌上,把你感兴趣的某些页折起来,在日常开发中需要解决实际问题时就拿过来翻一翻。
更具体地说,本书采用基于任务的方式来介绍机器学习,有近200个独立的解决方案(你可以复制并粘贴这些代码,而它们将正常运行),针对的都是数据科学家或机器学习工程师在构建模型时可能遇到的最常见的任务。
本书的最终目标是成为人们在构建真实的机器学习系统时的参考书。例如,假设你有一个JSON文件,其中包含1000个具有缺失值的分类特征和数值型特征,并且目标向量的分类不均衡,你想得到一个可解释的模型。本书提供的解决方案可以帮助你解决如下问题:
? 加载JSON文件(2.5 节)
? 特征的标准化(4.2 节)
? 对特征字典编码(5.3节)
? 填充缺失的分类值(5.4节)
? 使用主成分进行特征降维(9.1节)
? 使用随机搜索选择最佳模型(12.2节)
? 训练随机森林分类器(14.4节)
? 选择随机森林中的重要特征(14.7节)
目标是让你:
1. 复制/粘贴代码,并确信它能很好地运行在玩具数据集(toy dataset) 上。
2. 阅读每一节后面的讨论以增进对代码背后的理论的理解,并了解哪些参数是需要重点考虑的因素。
3. 对书中的代码进行各种组合与修改,以构建实际的应用。
哪些人适合阅读本书
本书不是机器学习的入门书。如果你对机器学习的基本概念还不太了解,或者从未花时间学习过机器学习,请不要购买本书。本书适合机器学习的实践者阅读,他们熟悉机器学习的理论和概念,可以参考书中的代码快速解决在日常开发中遇到的挑战。
另外,本书假定读者熟悉Python编程语言和包管理。
哪些人不适合阅读本书
如前所述,本书不是机器学习的入门书。因此,它不应该是你的第一本机器学习书。如果你还不熟悉交叉验证、随机森林和梯度下降等概念,那么相比那些专门介绍这些主题的书来说,本书可能不会为你带来收获。建议你先阅读一本入门类机器学习图书,再阅读本书来学习机器学习的实用解决方案。
书中用到的术语
机器学习利用了很多领域的技术,包括计算机科学、统计学和数学。因此,在关于机器学习的讨论中会使用各种各样的术语:
观察值 (observation)
我们观察到的单个单位——例如一个人、一次销售或一条记录。
学习算法(learning algorithm)
用来学习模型的最佳参数的算法——例如线性回归、朴素贝叶斯或决策树。
模型(model)
学习算法的输出。学习算法训练出的模型可以用来做预测。
参数(parameter)
一个模型在训练过程中学习到的权重或系数。
超参数(hyperparameter)
一个学习算法在训练前需要设置的一组参数。
性能(performance)
用来评估模型的指标。
损失(loss)
一个需要在训练中最小化或最大化的指标。
训练(train)
使用类似于梯度下降之类的数学方法将一个学习算法应用到数据上。
拟合(fit)
使用分析方法将一个机器学习算法应用到数据上。
数据(data)
一组观察值。
致谢
没有一些朋友和陌生人的帮助,这本书是不可能完成的。很难列出提供过帮助的所有人的名字,但我想至少提一下这些人:Angela Bassa、Teresa Borcuch、Justin Bozonier、Andre deBruin、Numa Dhamani、Dan Friedman、Joel Grus、Sarah Guido、Bill Kam-bouroglou、Mat Kelcey、Lizzie Kumar、Hilary Parker、Niti Paudyal、Sebastian Raschka和Shreya Shankar。
我欠他们所有人一瓶啤酒,或者五瓶。

目录

第1章 向量、矩阵和数组
1.0 简介
1.1 创建一个向量
问题描述
解决方案
讨论
延伸阅读
1.2 创建一个矩阵
问题描述
解决方案
讨论
延伸阅读
1.3 创建一个稀疏矩阵
问题描述
解决方案
讨论
延伸阅读
1.4 选择元素
问题描述
解决方案
讨论
1.5 展示一个矩阵的属性
问题描述
解决方案
讨论
1.6 对多个元素同时应用某个操作
问题描述
解决方案
讨论
1.7 找到最大值和最小值
问题描述
解决方案
讨论
1.8 计算平均值、方差和标准差
问题描述
解决方案
讨论
1.9 矩阵变形
问题描述
解决方案
讨论
1.10 转置向量或矩阵
问题描述
解决方案
讨论
1.11 展开一个矩阵
问题描述
解决方案
讨论
1.12 计算矩阵的秩
问题描述
解决方案
讨论
延伸阅读
1.13 计算行列式
问题描述
解决方案
讨论
延伸阅读
1.14 获取矩阵的对角线元素
问题描述
解决方案
讨论
1.15 计算矩阵的迹
延伸阅读
1.16 计算特征值和特征向量
问题描述
解决方案
讨论
延伸阅读
1.17 计算点积
问题描述
解决方案
讨论
延伸阅读
1.18 矩阵的加/减
问题描述
解决方案
讨论
1.19 矩阵的乘法
问题描述
解决方案
讨论
延伸阅读
1.20 计算矩阵的逆
问题描述
解决方案
讨论
1.21 生成随机数
问题描述
解决方案
讨论
第2章 加载数据
2.0 简介
2.1 加载样本数据集
问题描述
解决方案
讨论
延伸阅读
2.2 创建仿真数据集
问题描述
解决方案
讨论
延伸阅读
2.3 加载CSV文件
问题描述
解决方案
讨论
2.4 加载一个Excel文件
问题描述
解决方案
讨论
2.5 加载JSON文件
问题描述
解决方案
讨论
延伸阅读
2.6 查询SQL数据库
问题描述
解决方案
讨论
延伸阅读
第3章 数据整理
3.0 简介
3.1 创建一个数据帧
问题描述
解决方案
讨论
3.2描述数据
问题描述
解决方案
讨论
3.3 浏览数据帧
问题描述
解决方案
讨论
3.4 根据条件语句来选择行
问题描述
解决方案
讨论
3.5 替换值
问题描述
解决方案
讨论
3.6 重命名列
问题描述
解决方案
讨论
3.7 计算最小值、最大值、总和、平均值与计数值
问题描述
解决方案
讨论
3.8 查找唯一值
问题描述
解决方案
讨论
3.9 处理缺失值
问题描述
解决方案
讨论
3.10 删除一列
问题描述
解决方案
讨论
3.11 删除一行
问题描述
解决方案
讨论
3.12 删除重复行
问题描述
解决方案
讨论
3.13 根据值对行进行分组
问题描述
解决方案
讨论
3.14 按时间段对行进行分组
问题描述
解决方案
讨论
延伸阅读
3.15 遍历一个列的数据
问题描述
解决方案
讨论
3.16 对一列的所有元素应用某个函数
问题描述
讨论
3.17 对所有分组应用一个函数
问题描述
解决方案
讨论
3.18 连接多个数据帧
问题描述
解决方案
讨论
3.19 合并两个数据帧
问题描述
解决方案
讨论
延伸阅读
第4章 处理数值型数据
4.0 简介
4.1 特征的缩放
问题描述
解决方案
讨论
延伸阅读
4.2 特征的标准化
问题描述
解决方案
讨论
4.3 归一化观察值
问题描述
解决方案
讨论
4.4 生成多项式和交互特征
问题描述
解决方案
讨论
4.5 转换特征
问题描述
解决方案
讨论
4.6 识别异常值
问题描述
解决方案
讨论
延伸阅读
4.7 处理异常值
问题描述
解决方案
讨论
延伸阅读
4.8 将特征离散化
问题描述
解决方案
讨论
延伸阅读
4.9 使用聚类的方式将观察值分组
问题描述
解决方案
讨论
4.10 删除带有缺失值的观察值
问题描述
解决方案
讨论
延伸阅读
4.11 填充缺失值
问题描述
解决方案
讨论
延伸阅读
第5章 处理分类数据
5.0 简介
5.1 对nominal型分类特征编码
问题描述
解决方案
讨论
延伸阅读
5.2 对ordinal分类特征编码
问题描述
解决方案
讨论
5.3 对特征字典编码
问题描述
解决方案
讨论
延伸阅读
5.4 填充缺失的分类值
问题描述
解决方案
讨论
延伸阅读
5.5 处理不均衡分类
问题描述
解决方案
讨论
第6章 处理文本
6.0 简介
6.1 清洗文本
问题描述
解决方案
讨论
延伸阅读
6.2 解析并清洗HTML
问题描述
解决方案
讨论
延伸阅读
6.3 移除标点
问题描述
解决方案
讨论
6.4 文本分词
问题描述
解决方案
讨论
6.5 删除停止词(stop word)
问题描述
解决方案
讨论
6.6 提取词干
问题描述
解决方案
讨论
延伸阅读
6.7 标注词性
问题描述
解决方案
讨论
延伸阅读
6.8 将文本编码成词袋(Bag of Words)
问题描述
解决方案
讨论
延伸阅读
6.9 按单词的重要性加权
问题描述
解决方案
讨论
延伸阅读
第7章 处理日期和时间
7.0 简介
7.1 把字符串转换成日期
问题描述
解决方案
讨论
延伸阅读
7.2 处理时区
问题描述
解决方案
讨论
7.3 选择日期和时间
问题描述
解决方案
讨论
7.4 将日期数据切分成多个特征
问题描述
解决方案
讨论
7.5 计算两个日期之间的时间差
问题描述
解决方案
讨论
延伸阅读
7.6 对一周内的各天进行编码
问题描述
解决方案
讨论
延伸阅读
7.7 创建一个滞后的特征
问题描述
解决方案
讨论
7.8 使用滚动时间窗口
问题描述
解决方案
讨论
延伸阅读
7.9 处理时间序列中的缺失值
问题描述
解决方案
讨论
第8章 图像处理
8.0 简介
8.1 加载图像
问题描述
解决方案
讨论
延伸阅读
8.2保存图像
问题描述
解决方案
讨论
8.3缩放图像
问题描述
解决方案
讨论
8.4裁剪图像
问题描述
解决方案
讨论
延伸阅读
8.5 图像平滑
问题描述
解决方案
讨论
延伸阅读
8.6 图像锐化
问题描述
解决方案
讨论
8.7 提升对比度
问题描述
解决方案
讨论
8.8 颜色分离
问题描述
解决方案
讨论
8.9 图像二值化
问题描述
解决方案
讨论
8.10 移除背景
问题描述
解决方案
讨论
8.11 边缘检测
问题描述
解决方案
讨论
8.12 角点检测
问题描述
解决方案
讨论
延伸阅读
8.13 为机器学习创建特征
问题描述
解决方案
讨论
8.14 将颜色平均值编码成特征
问题描述
解决方案
讨论
8.15 将色彩直方图编码成特征
问题描述
解决方案
讨论
延伸阅读
第9章 利用特征提取进行特征降维
9.0 简介
9.1 使用主成分进行特征降维
问题描述
解决方案
讨论
延伸阅读
9.2 对线性不可分数据进行特征降维
问题描述
解决方案
讨论
延伸阅读
9.3 通过最大化类间可分性进行特征降维
问题描述
解决方案
讨论
延伸阅读
9.4 使用矩阵分解法进行特征降维
问题描述
解决方案
讨论
延伸阅读
9.5 对稀疏数据进行特征降维
问题描述
解决方案
讨论
延伸阅读
第10章 使用特征选择进行降维
10.0 简介
10.1 数值型特征方差的阈值化
问题描述
解决方案
讨论
10.2 二值特征的方差阈值化
问题描述
解决方案
讨论
10.3 处理高度相关性的特征
问题描述
解决方案
讨论
10.4 删除与分类任务不相关的特征
问题描述
解决方案
讨论
10.5 递归式特征消除
问题描述
解决方案
讨论
延伸阅读
第11章 模型评估
11.0 简介
11.1 交叉验证模型
问题描述
解决方案
讨论
延伸阅读
11.2 创建一个基准回归模型
问题描述
解决方案
讨论
11.3 创建一个基准分类模型
问题描述
解决方案
讨论
延伸阅读
11.4 评估二元分类器
问题描述
解决方案
讨论
延伸阅读
11.5 评估二元分类器的阈值
问题描述
解决方案
讨论
延伸阅读
11.6 评估多元分类器
问题描述
解决方案
讨论
11.7 分类器性能的可视化
问题描述
解决方案
讨论
延伸阅读
11.8 评估回归模型
问题描述
解决方案
讨论
延伸阅读
11.9 评估聚类模型
问题描述
解决方案
讨论
延伸阅读
11.10 创建自定义评估指标
问题描述
解决方案
讨论
延伸阅读
11.11 可视化训练集规模的影响
问题描述
解决方案
讨论
延伸阅读
11.12 生成对评估指标的报告
问题
解决方案
讨论
延伸阅读
11.13 可视化超参数值的效果
问题描述
解决方案
讨论
延伸阅读
第12章 模型选择
12.0 简介
12.1 使用穷举搜索选择最佳模型
问题描述
解决方案
讨论
延伸阅读
12.2 使用随机搜索选择最佳模型
问题描述
解决方案
讨论
延伸阅读
12.3 从多种学习算法中选择最佳模型
问题描述
解决方案
讨论
12.4 将数据预处理加入模型选择过程
问题描述
解决方案
讨论
12.5 用并行化加速模型选择
问题描述
解决方案
讨论
12.6 使用针对特定算法的方法加速模型选择
问题描述
解决方案
讨论
延伸阅读
12.7 模型选择后的性能评估
问题描述
解决方案
讨论
第13章 线性回归
13.0 简介
13.1 拟合一条直线
问题描述
解决方案
讨论
13.2 处理特征之间的影响
问题描述
解决方案
讨论
13.3 拟合非线性关系
问题描述
解决方案
讨论
13.4 通过正则化减少方差
问题描述
解决方案
讨论
13.5 使用套索回归减少特征
问题描述
解决方案
讨论
第14章 树和森林
14.0 简介
14.1 训练决策树分类器
问题描述
解决方案
讨论
延伸阅读
14.2 训练决策树回归模型
问题描述
解决方案
讨论
延伸阅读
14.3 可视化决策树模型
问题描述
解决方案
讨论
延伸阅读
14.4 训练随机森林分类器
问题描述
解决方案
讨论
延伸阅读
14.5 训练随机森林回归模型
问题描述
解决方案
讨论
延伸阅读
14.6 识别随机森林中的重要特征
问题描述
解决方案
讨论
14.7 选择随机森林中的重要特征
问题描述
解决方案
讨论
延伸阅读
14.8 处理不均衡的分类
问题描述
解决方案
讨论
14.9 控制决策树的规模
问题描述
解决方案
讨论
14.10 通过boosting提高性能
问题描述
解决方案
讨论
延伸阅读
14.11 使用袋外误差(Out-of-Bag Error)评估随机森林模型
问题描述
解决方案
讨论
第15章 KNN
15.0 简介
15.1 找到一个观察值的最近邻
问题描述
解决方案
讨论
15.2 创建一个KNN分类器
问题描述
解决方案
讨论
15.3 确定最佳的邻域点集的大小
问题描述
解决方案
讨论
15.4 创建一个基于半径的最近邻分类器
问题描述
解决方案
讨论
第16章 逻辑回归
16.0 简介
16.1 训练二元分类器
问题描述
解决方案
讨论
16.2 训练多元分类器
问题描述
解决方案
讨论
16.3 通过正则化来减小方差
问题描述
解决方案
讨论
16.4 在超大数据集上训练分类器
问题描述
解决方案
讨论
延伸阅读
16.5 处理不均衡的分类
问题描述
解决方案
讨论
第17章 支持向量机
17.0 简介
17.1 训练一个线性分类器
问题描述
解决方案
讨论
17.2 使用核函数处理线性不可分的数据
问题描述
解决方案
讨论
17.3 计算预测分类的概率
问题描述
解决方案
讨论
17.4 识别支持向量
问题描述
解决方案
讨论
17.5 处理不均衡的分类
问题描述
解决方案
讨论
第18章 朴素贝叶斯
18.0 简介
18.1 为连续的数据训练分类器
问题描述
解决方案
讨论
延伸阅读
18.2 为离散数据和计数数据训练分类器
问题描述
解决方案
讨论
18.3 为具有二元特征的数据训练朴素贝叶斯分类器
问题描述
解决方案
讨论
18.4 校准预测概率
问题描述
解决方案
讨论
第19章 聚类
19.0 简介
19.1 使用K-Means聚类算法
问题描述
解决方案
讨论
延伸阅读
19.2 加速K-Means聚类
问题描述
解决方案
讨论
19.3 使用Meanshift聚类
问题描述
解决方案
讨论
延伸阅读
19.4 使用DBSCAN聚类
问题描述
解决方案
讨论
延伸阅读
19.5 使用层次合并算法聚类
问题描述
解决方案
讨论
第20章 神经网络
20.0 简介
20.1 为神经网络预处理数据
问题描述
解决方案
讨论
20.2 设计一个神经网络
问题描述
解决方案
讨论
延伸阅读
20.3 训练一个二元分类器
问题描述
解决方案
讨论
20.4 训练一个多元分类器
问题描述
解决方案
讨论
20.5 训练一个回归模型
问题描述
解决方案
讨论
20.6 做预测
问题描述
解决方案
讨论
20.7 可视化训练历史
问题描述
解决方案
讨论
20.8 通过权重调节减少过拟合
问题描述
解决方案
讨论
20.9 通过提前结束来减少过拟合
问题描述
解决方案
讨论
20.10 通过Dropout来减少过拟合
问题描述
解决方案
讨论
20.11 保存模型训练过程
问题描述
解决方案
讨论
20.12 使用k折交叉验证评估神经网络
问题描述
解决方案
讨论
20.13 调校神经网络
问题描述
解决方案
讨论
20.14 可视化神经网络
问题描述
解决方案
讨论
20.15图像分类
问题描述
解决方案
讨论
20.16 通过图像增强来改善卷积神经网络的性能
问题描述
解决方案
讨论
延伸阅读
20.17文本分类
问题描述
解决方案
讨论
第21章 保存和加载训练后的模型
21.0 简介
21.1 保存和加载一个scikit-learn模型
问题描述
解决方案
讨论
21.2 保存和加载Keras模型
问题描述
解决方案
讨论

读者评论

相关图书

AI魔法绘画:用Stable Diffusion挑战无限可能

陈然 (作者)

本书以实际操作为导向,详细讲解基于Stable Diffusion进行AI绘画的完整学习路线,包括绘画技巧、图片生成、提示词编写、ControlNet插件、模型...

 

一本书读懂ChatGPT

魏进锋 等 编著 (作者)

本书以通俗易懂的语言对ChatGPT进行全面讲解。 本书分为10章。 第1章对ChatGPT及ChatGPT的创造者OpenAI进行初步讲解。 第2章讲解...

 

可解释人工智能导论

杨强 范力欣 朱军 陈一昕 张拳石 朱松纯 陶大程 崔鹏 周少华 刘琦 黄萱菁 张永锋 (作者)

本书全面介绍可解释人工智能的基础知识、理论方法和行业应用。全书分为三部分,共11 章。第一部分为第1 章,揭示基于数据驱动的人工智能系统决策机制,提出一种基于人...

 

Python统计可视化之Altair探索分析实践指南

刘大成 (作者)

本书以Altair为核心工具,通过认识数据、理解数据和探索数据全方位地探索分析数据集的统计可视化形式,以应用数据和案例研究为实践场景,使用Altair数据加工箱...

 

隐私计算

陈凯 杨强 (作者)

在大数据和人工智能时代,如何在享受新技术带来的便利性的同时保护自己的隐私,是一个重要的问题。本书系统讲解了隐私计算的基础技术和实践案例,全书共有11 章,按层次...

 

知识图谱与认知智能:基本原理、关键技术、应用场景与解决方案

吴睿 (作者)

认知的高度决定了你创造价值的高度,包括你对世界的认知及世界对你的认知。知识图谱与认知智能技术的发展,既孕育了圈层变更的机会,也带来了人、机器、企业如何协同与博弈...