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

Python数据分析基础

by Clinton W. Brownley

想深入应用手中的数据?还是想在上千份文件中重复同样的分析过程?没有编程经验的非程序员们如何能在最短的时间内学会用当今炙手可热的Python语言进行数据分析? 来自Facebook的数据专家Clinton Brownley可以帮您解决上述问题。在他的这本书里,读者将能掌握基本Python编程方法,学会编写出处理电子表格和数据库中的数据的脚本,并了解使用Python模块来解析文件、分组数据和生成统计量的方法。 学习基础语法,创建并运行自己的Python脚本 读取和解析CSV文件 读取多个Excel工作表和工作簿 执行数据库操作 搜索特定记录、分组数据和解析文本文件 建立统计图并绘图 生成描述性统计量并估计回归模型和分类模型 在Windows和Mac环境下按计划自动运行脚本

book

C语言核心技术(原书第2版)

by Peter Prinz, Tony Crawford

C程序员在编写程序时手头一定要有这本书。在这本书中,C语言专家Peter Prinz和Tony Crawford为你提供大量的编程参考信息。这 本经典著作的新版对于C语言及其运行库中的每个特性给予了清晰、详细的解释,包括多线程、泛型宏,以及其他2011年C语言标准(C11)中的新功能。如果你想理解一个陌生函数的作用,以及标准链接库是如何规范它的执行,可以在本书中找到答案,并且配有经典示例进行说明。 对于有经验的C与C++编程者,这本书也相当理想,它包含了GNU 软件工具集中常用工具的使用说明。你会学到如何使用GNU make创建C程序,从C源代码编译获得执行程序,以及使用GNU调试器对程序进行测试与调试。 本书包括以下三个部分: C语言基本概念与元素,包括类型、语句、指针、内存管理、I/O等 C语言标准链接库,包括标准头综述,以及详细的标准函数参考 在GNU软件工具集中的C语言编程基本工具,并介绍了如何在 Eclipse IDE中使用它们