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

Book description

本书提供了约200个独立的解决方案,来帮助你解决在日常开发中可能遇到的机器学习方面的问题。如果你熟悉Python和它的库(包括Pandas和scikit-learn),你就能应对加载数据、处理文本或数值型数据、模型选择、降维等特定问题。

书中的每个解决方案都给出了相应的代码,你可以直接把它们复制并粘贴到测试数据集中,看看它们是否能正常运行。接下来,你还可以对这些代码进行插入、组合和修改操作,以构建自己的应用。除了代码,书中还对每个解决方案进行了讨论,解释其原理并介绍相关的背景知识。本书的重点不在于讲解机器学习的理论和概念,而在于帮助你掌握构建实用的机器学习应用的要点。

本书包含如下方面的解决方案:

  • 向量、矩阵和数组
  • 处理数值型数据和分类数据,处理文本、图像,处理时间和日期
  • 用特征提取或特征选择方法进行降维
  • 模型的评估及选择
  • 线性回归和逻辑回归、树和森林、K近邻
  • 支持向量机(SVM)、朴素贝叶斯、聚类和神经网络
  • 保存和加载训练后的模型

Table of contents

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

Product information

  • Title: Python机器学习手册:从数据预处理到深度学习
  • Author(s): Chris Albon
  • Release date: July 2019
  • Publisher(s): Publishing House of Electronics Industry
  • ISBN: 9787121369629

You might also like

book

数据科学中的实用统计学(第2版)

by Peter Bruce, Andrew Bruce, Peter Gedeck

统计方法是数据科学的重要组成部分,但鲜有数据科学从业人员接受过正规的统计学教育或培训,而关于统计学基础的课程和教材又很少从数据科学的角度讲解。本书以通俗易懂、分门别类的方式,专门从数据科学的角度系统地阐释重要且实用的统计学概念,侧重于介绍如何将各种统计方法应用于数据科学。 Python和R都是数据科学从业人员常用的语言。与第1版相比,本书第2版新增了更多Python示例。你将能够更全面地了解如何在数据科学项目中正确运用各种统计方法,系统梳理数据科学中的核心统计学概念,透彻理解哪些统计学概念重要、哪些不那么重要,以及为什么是这样。此外,本书还可以帮助你充分准备好应对数据科学面试。 通过本书,你将掌握以下知识。 为什么探索性数据分析是开启数据科学任务的关键一步 随机抽样如何降低偏差并提高数据集的质量 实验设计原则如何针对问题生成确定性答案 如何使用回归方法估计结果并检测异常 用于预测记录所属类别的主要分类方法 从数据中“学习”的统计机器学习方法 从未标记的数据中提取信息的无监督学习方法

book

精通機器學習

by Aurélien Géron

建立智慧系統的概念、工具與技術 “這是一本卓越的機器學習資源,有清楚、直觀的解說,以及大量實用技巧。” —François Chollet Keras作者,《Deep Learning with Python》作者 “這本書詳細介紹以神經網路解決問題的理論與做法;建議想要實際運用ML的人都要看這本書。” —Pete Warden TensorFlow行動主管 深度學習經歷了一系列的突破之後,已經大幅推動了整個機器學習領域,如今,即使你對這項技術一無所知,也可以使用簡單、高效的工具,製作可從資料中學習的程式。這本暢銷書新版本使用具體的案例、精簡的理論,以及Python準生產框架,協助你直觀地認識智慧系統的概念與建構工具。 你將學到可快速上手的技術,只要具備程式編寫經驗,就可以藉由各章的習題來學習。你可以在GitHub取得本書的所有程式碼,這些程式已經更新為TensorFlow 2,以及最新版的Scikit-Learn。 使用Scikit-Learn與pandas,透過端對端專案建立機器學習基礎 …

book

管理Kubernetes

by Brendan Burns, Craig Tracey

虽然Kubernetes极大地简化了部署容器化应用程序的工作,但每天管理这种编排框架仍然是一项复杂的工作。站点管理人员以及 开发运营工程师可以通过本书学习如何构建、操作、管理及升级 Kubernetes集群,无论这些集群位于云基础架构之上还是在企业内部。 本书的作者Brendan Burns是Kubernetes的联合创始人,而Craig Tracey 是Heptio的现场工程师。本书详细讲解了Kubernetes的内部工作原理,并向读者展示了如何通过维护、调整和改善集群来满足特定需求。你可以通过本书学习如何从设计集群、管理访问控制、监视和报警,以及升级Kubernetes等方面来综合考虑架构的选择,还可以 通过本书深入了解如何充分利用这种编排框架的功能。 “学习如何操作集群,开发人员如何利用Kubernetes部署应用程序,以及如何利用Kubernetes减轻开发人员的负担。 通过掌握Kubernetes API以及配置选项来调整、保护,以及调节集群。 检测集群级别的问题,学习必要的响应步骤并快速恢复集群。 确定如何以及何时添加构建、扩展或以其他方式改进 Kubernetes集群的库、工具和平台。

book

Python数据科学手册

by Jake VanderPlas

Python语言拥有大量可用于存储、操作和洞察数据的程序库,已然成为深受数据科学研究人员推崇的工具。本书以IPython、NumPy、 Pandas、Matplotlib和Scikit-Learn这5个能完成数据科学大部分工作的基础工具为主,从实战角度出发,讲授如何清洗和可视化数据、如何用数据建立各种统计学或机器学习模型等常见数据科学任务,旨在让与数据处理相关的各领域的工作人员具备发现问题、解决问题的能力。 IPython和Jupyter:为使用Python提供计算环境。 NumPy:用ndarray实现高维数组的高效存储与操作。 Pandas:用DataFrame实现带标签/列式数据的高效存储与操作。 Matplotlib:实现各种数据可视化。 Scikit-Learn:用高效整洁的Python实现重要的机器学习算法。