书评:《Hands-On Machine Learning with Scikit-Learn and TensorFlow》

本书使用了生产就绪的 Python 框架,并提供了一个端到端的机器学习项目示例。
428 位读者喜欢这个。
Book stack

图片来源:Kate Ter Haar。由 Opensource.com 修改。CC BY-SA 2.0。

Google Assistant、Amazon Alexa、Microsoft Cortana、Apple Siri 或 Facebook Messaging M 有什么共同之处?所有这些个人助理都由机器学习和人工智能 (AI) 提供支持。根据 GlassdoorUpwork.com 的数据,机器学习是 2017 年的一项热门技能,并且在未来许多年都将如此

您将如何培养技能成为下一代机器学习工程师?

开始学习机器学习

UdacityCourseraedX 和其他资源提供 MOOC(大型开放式在线课程),Amazon.com 列出了 5,000 多本关于机器学习的书籍。其中许多书可以帮助您入门,并逐步将您带到具有实践知识的高级水平。此外,Aurélien Géron(一位前 Google 工程师,曾领导 YouTube 视频分类团队)也写了一本很棒的书:Hands-On Machine Learning with Scikit-Learn and TensorFlow。这是一本实用的指导书,适用于动手操作的 机器学习和深度学习(一类机器学习算法)。

本书假设您对机器学习几乎一无所知;但是,本书也假设您具有一些 Python 编程经验,并且对大学水平的数学(包括线性代数、概率和统计学)有合理的理解。机器学习项目通常使用 Python、R、Java/Scala 和 C/C++ 作为编程语言。Géron 没有让我们实现自己玩具版本的机器学习算法,而是使用了生产就绪的 Python 框架 scikit-learnTensorFlow。两者都是积极开发的开源项目。

为什么选择 scikit-learn 和 TensorFlow?

scikit-learn 项目最初是 David Cournapeau 在 2007 年发起的 Google Summer of Code 项目。Scikit-learn 专注于使用像 Python 这样的通用高级语言将机器学习带给非专业人士。根据 scikit-learn 的用户评价页面,Spotify 使用 scikit-learn 机器学习包进行音乐推荐,而 Evernote 使用它进行笔记分类。它提供了高质量、易于使用的基本机器学习算法实现,包括回归、分类、聚类等。Scikit-learn 是学习机器学习的一个很好的切入点,并且它是 GitHub 上星标第二多的机器学习库。

TensorFlow 是 Géron 评估的第二个项目。从 2011 年开始,Google Brain 构建了 DistBelief,这是一个基于深度学习神经网络的机器学习系统。TensorFlow 是 Google Brain 的第二代机器学习系统,于 2015 年作为开源软件发布。Google 使用 TensorFlow 神经网络模型进行语音识别,而 Snapchat 使用它进行图像识别。它为神经网络和深度学习提供了先进的机器学习算法,并且是 GitHub 上星标最多的机器学习库。

端到端的机器学习项目

本书的核心优势在于关注端到端的机器学习项目。一个典型的机器学习项目涉及八个步骤

  1. 了解大局
  2. 获取数据
  3. 可视化数据以获得见解
  4. 为机器学习算法准备数据
  5. 选择模型并训练
  6. 微调模型
  7. 展示解决方案
  8. 启动、监控和维护机器学习系统

示例项目:房价预测

本书使用加州公共人口普查数据来预测全区房价。第一步,本书帮助确定问题框架——这是一个具有 多元回归 的监督学习问题。根据所需的精度,下一步是选择性能指标;例如,68% 的系统价格预测落在实际价值的 50,000 美元以内,而 95% 的系统价格预测落在实际价值的 100,000 美元以内。

Scikit-learn 提供了工具来获取数据、探索数据、清理数据以及为机器学习算法准备数据。完成此操作后,下一步是选择和训练模型。机器学习项目中最大的挑战之一是选择合适的模型,这将为预测提供更好的准确性。经验丰富的机器学习专业人员会选择三到四个模型,并根据其结果的准确性选择其中一个模型。

对于房价预测,Géron 选择了 线性回归决策树随机森林 模型。他发现,对于这个问题,随机森林比其他两个模型表现更好。

本书涵盖了更多机器学习算法及其相关性和用途,并且包括涵盖监督学习、无监督学习、半监督学习和强化学习的代码示例。您的机器学习问题可能是细分客户并为每个群体找到最佳营销策略、检测哪些交易可能存在欺诈行为以及预测明年的收入。

阅读:Hands-On Machine Learning with Scikit-Learn and TensorFlow

User profile image.
Lakshman 是 Infosys 的高级主管。他在 Infosys 培养开源和架构师社区。他拥有工程硕士学位。软件正在吞噬世界。你知道是哪些软件正在吞噬世界吗?开源软件!在 Twitter 上关注 lakshman @lakshmag

1 条评论

我是 SBU 的学生,正在研究自动驾驶汽车

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.