前言

本书的选题来源于专业发展和人工智能技术需求两方面。
首先,人工智能为许多学科专业带来了新的发展机遇,特别是计算机专业,目前其专业方向之一正朝着人工智能技术发展,急需补充大数据技术背景下的智能计算内容。在现有关系型数据库技术基础上,通过扩展补充非结构化数据库,形成大规模数据,增强机器学习的应用范围,为计算机专业带来新的发展潜力。
其次是数据科学与大数据技术本科专业的建设需要。通过学习大数据技术的基本原理和编程示例,从大一开始就设置有大数据导论课程,随后有大数据处理、大数据分析、分布式计算、人工智能、数据可视化和数据挖掘等主干课程。因此,需要培养学生的大数据系统思维和技术兴趣,从而形成完整的大数据生命周期和处理方法。
从机器学习的市场需求及发展趋势看,表现为以下三方面内容。
(1) 针对大数据计算需求,有两种解决途径: ①购置多GPU的系统,能够大幅提高算力,但价格昂贵; ②利用廉价的服务器搭建大规模的分布式集群平台。目前成熟的大数据平台主要是Hadoop和Spark系统,以及实时计算用的Storm。这些离线和实时计算模式共同形成了主流的大数据技术系统架构,在现有商业系统中发挥重要的作用。
(2) 机器学习是大数据应用中的重要研究和应用领域,对数据处理、特征分析、算法应用和模型设计,都是热点内容,需要尽快体现在教学环节和资源之中。
(3) 在编程语言和相关类库方面,Python语言已经占有绝对优势,已经成为大数据和人工智能领域的主流编程语言。其丰富的第三方类库为用户带来了极大便利。目前,急需基于Python语言在这些平台下进行实战开发的技术书籍。
经过分析发现,现有一些图书以介绍Hadoop和Spark为主,虽有部分理论基础内容,但大数据技术不完整。在示例方面,Hadoop平台采用的是Java语言,Spark平台采用的是Scala语言,这些都算不上大数据技术开发的主流语言,很难得到普遍选用。另外有些图书阐述了Python编程技术、数据处理和机器学习算法调用等,但停留在单机编程,缺少Hadoop和Spark平台下的大数据分析和机器学习内容,更缺少大数据采集、存储、预处理等全生命周期的众多环节。因此,目前在Hadoop和Spark平台下开展Python应用开发的图书很紧缺。针对大数据处理周期、全面开展架构原理和编程实践的综合图书非常少。
本书基于以上大数据技术和实战培养背景,在内容上既包括了大数据采集、存储、预处理、特征工程、可视化分析等全生命周期的处理技术,又基于Hadoop和Spark典型大数据平台,开展数据处理和机器学习技术。在技术环境方面,建议采用平台版本Hadoop 3.1及以上、Spark 2.4.5及以上。在编程实践上,以Python语言为核心,将程序设计贯穿到了所有章节,设计了170余幅模型和流程图,实现了大量的编程示例,以及Hadoop和Spark平台的接口调用实例分析。做到了大数据平台技术、大数据处理周期与Python机器学习算法编程的全面融合实现,且突出了大数据和机器学习的应用技术,形成了本书的特色。为便于教学,本书配套PPT、源代码、习题(含答案)等教学资源,可到清华大学出版社官网下载。
本书的撰写荣获2017年教育部产学合作协同育人专项资助,要特别感谢北京普开数据有限公司的鼎力支持!同时,获得了
2019年北京高等教育“本科教学改革创新项目”的配套经费支持。本书稿历经两年多的编写修改与内部使用,并多次参与大数据技术研讨活动。特别感谢陈明教授、曹永存教授、王锁柱教授和李海生教授等提出的宝贵建议,为提升本书的质量打下了坚实的基础。在编写过程中,得到了清华大学出版社的大力帮助。此外,还参照了相关的文献和网络资料,在此一并表示感谢!
由于编著者水平有限,书中难免存在错误与不妥之处,殷切希望广大读者批评指正。

编著者2020年12月