《机器学习系统设计》是一本非常实用的机器学习教程,由美国机器学习和机器人学博士Willi Richert编著。本书旨在手把手教你如何使用Python设计机器学习系统,并为读者提供了大量的Python库参考。全书通过丰富的案例,教会读者如何细析机器学习技巧与方法,带你承袭正确的思维方式。

这本书非常适合需要机器学习技术的Python开发人员、计算机科学研究人员、数据科学家、人工智能程序员,以及统计程序员阅读参考。使用说明如下:1. 下载并解压,得出pdf文件;2. 如果打不开本文件,请务必下载pdf阅读器;3. 安装后,在打开解压得出的pdf文件;4. 双击进行阅读试读。

《机器学习系统设计》共分为12章,内容涵盖了机器学习的各个方面。以下是各章的简要介绍:

第1章通过一个非常简单的例子介绍机器学习的基本概念。尽管很简单,但也可能会有过拟合的风险,这对我们提出了挑战。

第2章讲解了使用真实数据解决分类问题的方法,在这里我们对计算机进行训练,使它能够区分不同类型的花朵。

第3章讲解了词袋方法的威力,我们可以在没有真正理解帖子内容的情况下,用它来寻找相似的帖子。

第4章让我们超越将每个帖子分配给单个簇的方式。由于真实的文本可以处理多个主题,我们可以看到如何把帖子分配到几个主题上。

第5章讲解了如何用逻辑回归判定用户的答案是好还是坏。在这个情景的背后,我们将学会用偏差-方差的折中调试机器学习模型。

第6章介绍了朴素贝叶斯的工作原理,以及如何用它对推文进行分类,来判断推文中的情感是正面的还是负面的。

第7章讨论了一个处理数据的经典课题,但它在今天仍然有意义。我们用它构建了一个推荐系统,这个系统根据用户所输入的喜欢和不喜欢的信息,为用户推荐新的商品。

第8章同时使用多种方法改进推荐效果。我们还可以看到如何只根据购物信息构建推荐系统,而不需要用户的评分数据(用户并不总会提供这一信息)。

第9章举例说明,如果有人把我们收集而成的庞大音乐库弄乱了,那么为歌曲建立次序的唯一希望就是让机器来对歌曲分类。你会发现,有时信任别人的专长比我们自己构建特征更好。

机器学习系统设计章节目录

目 录

第1章 Python机器学习入门 1

1.1 梦之队:机器学习与Python 1

1.2 这本书将教给你什么(以及不会教什么) 2

1.3 遇到困难的时候怎么办 3

1.4 开始 4

1.4.1 NumPy、SciPy和Matplotlib简介 4

1.4.2 安装Python 5

1.4.3 使用NumPy和SciPy智能高效地处理数据 5

1.4.4 学习NumPy 5

1.4.5 学习SciPy 9

1.5 我们第一个(极小的)机器学习应用 10

1.5.1 读取数据 10

1.5.2 预处理和清洗数据 11

1.5.3 选择正确的模型和学习算法 12

1.6 小结 20

第2章 如何对真实样本分类 22

2.1 Iris数据集 22

2.1.1 第一步是可视化 23

2.1.2 构建第一个分类模型 24

2.2 构建更复杂的分类器 28

2.3 更复杂的数据集和更复杂的分类器 29

2.3.1 从Seeds数据集中学习 29

2.3.2 特征和特征工程 30

2.3.3 最邻近分类 30

2.4 二分类和多分类 33

2.5 小结 34

第3章 聚类:寻找相关的帖子 35

3.1 评估帖子的关联性 35

3.1.1 不应该怎样 36

3.1.2 应该怎样 36

3.2 预处理:用相近的公共词语个数来衡量相似性 37

3.2.1 将原始文本转化为词袋 37

3.2.2 统计词语 38

3.2.3 词语频次向量的归一化 40

3.2.4 删除不重要的词语 41

3.2.5 词干处理 42

3.2.6 停用词兴奋剂 44

3.2.7 我们的成果和目标 45

3.3 聚类 46

3.3.1 K均值 46

3.3.2 让测试数据评估我们的想法 49

3.3.3 对帖子聚类 50

3.4 解决我们最初的难题 51

3.5 调整参数 54

3.6 小结 54

第4章 主题模型

4.1 潜在狄利克雷分配(LDA)

LDA是一种无监督的主题模型,用于从文档集合中发现潜在的主题。在这个章节中,我们将学习如何使用LDA在主题空间中比较文档的相似度,并选择合适的主题个数。

4.2 在主题空间比较相似度

为了在主题空间中比较文档的相似度,我们首先需要计算每个文档的概率分布,即该文档属于每个主题的概率。然后,我们可以使用这些概率来衡量文档与各个主题的相似度。

4.3 选择主题个数

在选择了适合的主题个数之后,我们需要考虑如何处理那些没有足够信息来推断出明确主题的文档。通常,我们可以通过为这些文档分配一个模糊的主题来解决这个问题。

4.4 小结

在本章中,我们介绍了LDA的基本概念和使用方法。通过LDA,我们可以从大量的文档中发现潜在的主题,并根据主题对文档进行聚类。这为我们进一步分析和理解数据提供了基础。

第5章 分类:检测劣质答案

本章将介绍如何使用机器学习算法来检测劣质答案。我们将首先了解如何训练一个分类器,然后使用这个分类器来预测答案的正确性。最后,我们将探讨如何优化分类器的性能,以提高答案检测的准确性。

第6章 分类II:情感分析

在本章中,我们将介绍如何使用朴素贝叶斯分类器来进行情感分析。情感分析是一种自然语言处理技术,用于确定文本中所表达的情感或情绪。我们将学习如何使用朴素贝叶斯分类器来识别正面、负面和中性的情感,并将其应用于实际问题中。

第7章 回归:推荐

在本章中,我们将介绍如何使用回归技术来进行推荐。回归是一种统计学方法,用于预测一个连续变量的值。我们将学习如何使用多元线性回归来预测用户的兴趣,并基于预测结果为用户推荐相关的内容。

.2.2 在Scikit-learn中使用Lasso或弹性网

118

7.3 P大于N的情形

119

7.3.1 基于文本的例子

120

7.3.2 评分预测和推荐

122

7.4 小结

126

第8章 回归:改进的推荐

127

8.1 改进的推荐

127

8.1.1 使用二值推荐矩阵

127

8.1.2 审视电影的近邻

129

8.1.3 组合多种方法

130

8.2 购物篮分析

132

8.2.1 获取有用的预测

133

8.2.2 分析超市购物篮

134

8.2.3 关联规则挖掘

136

8.2.4 更多购物篮分析的高级话题

137

8.3 小结

138

第9章 分类III:音乐体裁分类

139

9.1 路线图概述

139

9.2 获取音乐数据

139

9.3 观察音乐

140

9.4 用FFT构建第一个分类器

143

9.4.1 增加实验敏捷性

143

9.4.2 训练分类器

144

9.4.3 在多分类问题中用混淆矩阵评估正确率

144

9.4.4 另一种方式评估分类器效果:受试者工作特征曲线(ROC)

146

9.5 用梅尔倒频谱系数(MFCC)提升分类效果

148

9.6 小结

152

第10章 计算机视觉:模式识别

154

2.2 幕后的工作原理

在本章中,我们将介绍如何使用Jupyter Notebook和Apache Spark在Amazon Web Services(AWS)上进行数据挖掘。我们将首先讨论数据预处理和特征工程,然后介绍如何使用Apache Spark进行数据分析。最后,我们将讨论如何部署和监控Spark应用程序。

12.2.1 数据预处理和特征工程

数据预处理是数据挖掘过程中的第一步,它包括数据清洗、数据集成、数据变换和数据规约等步骤。特征工程是数据预处理的一个重要组成部分,它包括特征选择、特征提取、特征转换和特征编码等步骤。

12.2.2 用Jug分析数据

Jug是一个用于交互式Python编程的Web应用程序,它允许用户在浏览器中编写和运行Python代码。Jug提供了一个简单易用的界面,使得用户可以轻松地分析数据并生成可视化结果。

12.3 使用亚马逊Web服务(AWS)

在本节中,我们将介绍如何使用亚马逊Web服务(AWS)来构建和管理Spark集群。我们将首先讨论如何创建一个虚拟私有云(VPC),然后介绍如何在AWS上启动一个EC2实例。接下来,我们将讨论如何使用starcluster自动创建集群,并介绍如何使用AWS管理控制台来监控和管理集群。

12.3.1 构建你的第一台机器

在开始使用AWS之前,你需要先构建一台本地计算机或者云服务器作为开发环境。你可以使用virtualbox或docker等工具来创建虚拟机或容器,并安装必要的软件包和库。

12.3.2 用starcluster自动创建集群

starcluster是一个基于Docker和Kubernetes的开源工具,它可以帮助用户快速创建和管理Spark集群。你可以使用starcluster来轻松地创建一个多节点的Spark集群,并在集群上运行Spark作业。

12.4 小结

在本章中,我们介绍了如何使用Jupyter Notebook和Apache Spark在Amazon Web Services(AWS)上进行数据挖掘。我们讨论了数据预处理和特征工程的概念,并介绍了如何使用Jug分析数据。此外,我们还介绍了如何使用亚马逊Web服务(AWS)来构建和管理Spark集群。希望本章能够帮助读者更好地理解和应用机器学习技术。