前言

前言

在如今这个处处以数据驱动的世界中,机器学习正变得越来越大众化。它已经被广泛地应用于不同领域,如搜索引擎、机器人、无人驾驶汽车等。本书不仅可以帮你了解现实生活中机器学习的应用场景,而且通过有趣的菜谱式教程教你掌握处理具体问题的算法。

本书首先通过实用的案例介绍机器学习的基础知识,然后介绍一些稍微复杂的机器学习算法,例如支持向量机、极端随机森林、隐马尔可夫模型、条件随机场、深度神经网络,等等。本书是为想用机器学习算法开发应用程序的Python程序员准备的。它不仅适合Python初学者(当然,熟悉Python编程方法将有助于体验示例代码),而且也适合想要掌握机器学习技术的Python老手。

通过本书,你不仅可以学会如何做出合理的决策,为自己选择合适的算法类型,而且可以学会如何高效地实现算法以获得最佳学习效果。如果你在图像、文字、语音或其他形式的数据处理中遇到困难,书中处理这些数据的机器学习技术一定会对你有所帮助!

本书内容

第1章介绍各种回归分析的监督学习技术。我们将学习如何分析共享自行车的使用模式,以及如何预测房价。

第2章介绍各种数据分类的监督学习技术。我们将学习如何评估收入层级,以及如何通过特征评估一辆二手汽车的质量。

第3章论述支持向量机的预测建模技术。我们将学习如何使用这些技术预测建筑物里事件发生的概率,以及体育场周边道路的交通情况。

第4章阐述无监督学习算法,包括K-means聚类和均值漂移聚类。我们将学习如何将这些算法应用于股票市场数据和客户细分。

第5章介绍推荐引擎的相关算法。我们将学习如何应用这些算法实现协同滤波和电影推荐。

第6章阐述与文本数据分析相关的技术,包括分词、词干提取、词库模型等。我们将学习如何使用这些技术进行文本情感分析和主题建模。

第7章介绍与语音数据分析相关的算法。我们将学习如何建立语音识别系统。

第8章介绍分析时间序列和有序数据的相关技术,包括隐马尔可夫模型和条件随机场。我们将学习如何将这些技术应用到文本序列分析和股市预测中。

第9章介绍图像内容分析与物体识别方面的算法。我们将学习如何提取图像特征,以及建立物体识别系统。

第10章介绍在图像和视频中检测与识别面部的相关技术。我们将学习使用降维算法建立面部识别器。

第11章介绍建立深度神经网络所需的算法。我们将学习如何使用神经网络建立光学文字识别系统。

第12章介绍机器学习使用的数据可视化技术。我们将学习如何创建不同类型的图形和图表。

阅读背景

Python 2.x 和Python 3.x 的版本之争尚未平息1。一方面,我们坚信世界会向更好的版本不断进化,另一方面,许多开发者仍然喜欢使用Python 2.x 的版本。目前许多操作系统仍然内置Python 2.x。本书的重点是介绍Python机器学习,而非Python语言本身。另外,考虑到程序的兼容性,书中用到了一些尚未被迁移到Python 3.x 版本的程序库,因此,本书依然选择Python 2.x 的版本。我们会尽最大努力保持代码兼容各种Python版本,因为这样可以让你轻松地理解代码,并且很方便地将代码应用到不同场景中。

12020年之前应该不会终结。——译者注

读者对象

本书是为想用机器学习算法开发应用程序的Python程序员准备的。它适合Python初学者阅读,不过熟悉Python编程方法对体验示例代码大有裨益。

内容组织

在本书中,你会频繁地看到下面这些标题(准备工作、详细步骤、工作原理、更多内容、另请参阅)。

为了更好地呈现内容,本书采用以下组织形式。

准备工作

这部分首先介绍本节目标,然后介绍软件配置方法以及所需的准备工作。

详细步骤

这部分介绍具体的实践步骤。

工作原理

这部分通常是对前一部分内容的详细解释。

更多内容

这部分会补充介绍一些信息,帮助你更好地理解前面的内容。

另请参阅

这部分提供一些参考资料。

排版约定

在本书中,你会发现一些不同的文本样式。这里举例说明它们的含义。

嵌入代码、命令、选项、参数、函数、字段、属性、语句等,用等宽的代码字体显示:“这里,我们将25%的数据用于测试,可以通过test_size参数进行设置。”

代码块用如下格式:

import numpy as np
import matplotlib.pyplot as plt

import utilities

# Load input data
input_file = 'data_multivar.txt'
X, y = utilities.load_data(input_file)

命令行输入或输出用如下格式:

$ python object_recognizer.py --input-image imagefile.jpg --model-file
erf.pkl --codebook-file codebook.pkl

新术语和重要文字将采用黑体字。你在屏幕上看到的内容,包括对话框或菜单里的文本,都将这样显示:“如果你将数组改为(0, 0.2, 0, 0, 0),那么Strawberry部分就会高亮显示。”

读者反馈

我们非常欢迎读者的反馈。如果你对本书有些想法,有什么喜欢或是不喜欢的,请反馈给我们,这将有助于我们出版充分满足读者需求的图书。

一般性反馈请发送电子邮件至feedback@packtpub.com,并在邮件主题中注明书名。

如果你在某个领域有专长,并有意编写一本书或是贡献一份力量,请参考我们的作者指南,地址为http://www.packtpub.com/authors

客户支持

你现在已经是引以为傲的Packt读者了。为了能让你的购买物超所值,我们还为你准备了以下内容。

下载示例代码

你可以用你的账户从http://www.packtpub.com下载所有已购买Packt图书的示例代码文件。如果你是从其他途径购买的本书,可以访问http://www.packtpub.com/support并注册,我们将通过电子邮件把文件发送给你。

可以通过以下步骤下载示例代码文件:

(1) 用你的电子邮件和密码登录或注册我们的网站;

(2) 将鼠标移到网站上方的客户支持(SUPPORT)标签;

(3) 单击代码下载与勘误(Code Downloads & Errata)按钮;

(4) 在搜索框(Search)中输入书名;

(5) 选择你要下载代码文件的书;

(6) 从下拉菜单中选择你的购书途径;

(7) 单击代码下载(Code Download)按钮。

你也可以通过单击Packt网站上本书网页上的代码文件(Code Files)按钮来下载示例代码,该网页可以通过在搜索框(Search)中输入书名获得。以上操作的前提是你已经登录了Packt网站。

下载文件后,请确保用以下软件的最新版来解压文件:

  • WinRAR / 7-Zip for Windows ;

  • Zipeg / iZip / UnRarX for Mac ;

  • 7-Zip / PeaZip for Linux 。

本书的代码包也可以在GitHub上获得,网址是https://github.com/PacktPublishing/Python-Machine-Learning-Cookbook。另外,我们在https://github.com/PacktPublishing上还有其他书的代码包和视频,请需要的读者自行下载。

下载本书的彩色图片

我们也为你提供了一份PDF文件,里面包含了书中的截屏和图表等彩色图片,彩色图片能帮助你更好地理解输出的变化。下载网址为https://www.packtpub.com/sites/default/files/downloads/PythonMachineLearningCookbook_ColorImages.pdf

勘误

虽然我们已尽力确保本书内容正确,但出错仍旧在所难免。如果你在书中发现错误,不管是文本还是代码,希望能告知我们,我们将不胜感激。这样做,你可以使其他读者免受挫败,也可以帮助我们改进本书的后续版本。如果你发现任何错误,请访问http://www.packtpub.com/submit-errata,选择本书,单击勘误表提交表单(Errata Submission Form)的链接,并输入详细说明。2勘误一经核实,你提交的内容将被接受,此勘误会上传到本公司网站或添加到现有勘误表。

2中文版勘误可以到http://www.ituring.com.cn/book/1894查看和提交。——编者注

访问https://www.packtpub.com/books/content/support,在搜索框中输入书名,可以在勘误(Errata)部分查看已经提交的勘误信息。

盗版

任何媒体都会面临版权内容在互联网上的盗版问题,Packt也不例外。Packt非常重视版权保护。如果你发现我们的作品在互联网上被非法复制,不管以什么形式,都请立即为我们提供相关网址或网站名称,以便我们寻求补救。

请把可疑盗版材料的链接发到copyright@packtpub.com。

保护我们的作者,就是保护我们继续为你带来价值的能力,我们将不胜感激。

问题

如果你对本书内容存有疑问,不管是哪个方面的,都可以通过questions@packtpub.com联系我们,我们会尽最大努力解决。

电子书

扫描如下二维码,即可获得本书电子版。

{%}

目录

  • 版权声明
  • 译者序
  • 前言
  • 第 1 章 监督学习
  • 第 2 章 创建分类器
  • 第 3 章 预测建模
  • 第 4 章 无监督学习——聚类
  • 第 5 章 构建推荐引擎
  • 第 6 章 分析文本数据
  • 第 7 章 语音识别
  • 第 8 章 解剖时间序列和时序数据
  • 第 9 章 图像内容分析
  • 第 10 章 人脸识别
  • 第 11 章 深度神经网络
  • 第 12 章 可视化数据