前言
机器学习无疑是当前数据挖掘领域的一个热点内容,其理论和方法已经广泛应用于解决工程应用的复杂问题之中,很多人在日常工作中都或多或少地用到了机器学习的算法。
但是长期以来,由于从业者的知识能力储备不同和具体复杂的业务环境,机器学习技术并没有被广泛地应用。究其原因是机器学习主要是针对数字以及以数字为基础的矩阵进行模拟计算,而无论是在训练过程还是在结果的导出上,大多数都是单纯地使用数字进行结果呈现,无法直接对事件的走势或具体内容做一个直观可视化的展示,因此这极大地限制了机器学习在具体项目中落地和实现。
本书通过机器学习与可视化组件相结合的方式,系统地介绍机器学习与可视化分析相关技术,并通过实战项目讲解机器学习中最常用的数据挖掘相关知识,例如聚类、线性回归、逻辑回归以及决策树算法。特别是为了满足部分学者的需求,本书详细介绍了深度学习的两个基础算法——图像识别与文本分类算法。
可视化组件的加入,可以很容易地让使用者或者审阅者更直接地对机器学习过程和结果进行可视化分析,而Python本身也提供了多种多样的可视化分析模块,可以从不同角度对数据结果进行直接分析,从而降低了学习和理解的难度。
本书以Python为基础编程语言进行编写,循序渐进地教会读者使用机器学习算法切实地解决现实中遇到的各种问题,并通过多种图表、趋势线与分布图的形式进行展示。本书从基本的常用数据分析开始,到最终使用各种高性能机器学习库,包括利用Sklearn、TensorFlow进行深度学习程序设计和实战分析,全面介绍使用机器学习技术进行数据项目分析的核心内容和相关知识,内容全面而翔实。
同时,本书对机器学习的核心算法和理论进行深入分析,重点和难点内容均结合代码进行实战讲解,围绕机器学习原理介绍了大量实战案例,读者通过这些实例可以深入掌握机器学习的内容,加强对机器学习的理解。
本书是一本面向初级和中级读者的优秀教程。通过本书的学习,读者能够掌握机器学习的基本内容,并能结合可视化分析技术构建完整的数据分析方法,以及掌握代码编写的具体应用技巧。
本书特色
(1)易入门、可视化。本书通过可视化方法完整详细地介绍机器学习的多个具体案例,从理论基础到代码编写,从训练过程到结果呈现,都做到讲解详细、描述清晰、直观生动,可视化展现效果强烈。
(2)作者经验丰富,代码编写细腻。作者是长期奋战在科研和工业界的一线算法设计和程序编写人员,实战经验丰富,对代码中可能会出现的各种问题和“坑”有丰富的处理经验,使得读者能够少走很多弯路。
(3)理论扎实,深入浅出。在代码设计的基础上,本书还深入浅出地介绍了机器学习需要掌握的一些基本理论知识,通过大量的公式与图示结合的方式对理论进行介绍,是一本难得的好书。
(4)逐步加强,有所深入。本书在讲解机器学习的同时,也对部分深度学习的常用的内容进行实战讲解,并提供了一些最新实现某些功能的深度学习解决方案,可以引导感兴趣的读者在深度学习领域加强学习。
本书内容及知识体系
本书主要内容如下:
第1~2章是本书的起始部分,详细介绍Python的基本安装方法与多个类库的使用情况,结合数据处理初步讲解一些机器学习所涉及的基本理论分析算法,并通过实战项目演示数据分析算法的代码编写,用可视化手段对相关数据进行展示。
第3章开始进入机器学习的讲解,详细介绍使用机器学习进行项目实战的方法和过程,通过一个贯穿始终的数据分析实战项目,循序渐进地向读者展示数据分析的一些基本算法和思想、常用的数据可视化方法,以及从个体向整体偏移的数据分析思路。
第4章主要介绍是数据分析中最常用的聚类算法。本章按理论基础与实际项目的结合和划分情况,向读者介绍多种聚类算法,例如常用的K-means算法、基于密度的BBSCAN算法以及Agglomerative算法等。通过实战项目可视化演示算法的运行结果,并对其优缺点进行比较。
第5章主要内容是线性回归。线性回归是机器学习最常用也是最经典的算法。本章向读者介绍线性回归的基本理论和最为核心的梯度下降算法,通过多个图示的方式向读者展示梯度下降是如何一步步地修正结果的。同时,本章还讲解了部分提高内容,将一元线性回归广义地推广到多元线性回归,使得读者能够使用线性回归应对现实生活中更广泛的实际项目,并通过一个实战项目完整地展示如何使用多元线性回归。
第6章主要内容是逻辑回归。从名称上看逻辑回归是线性回归的姊妹篇,然而逻辑回归与线性回归有着本质的区别。相对于线性回归的连续的线性回归任务,逻辑回归执行的是离散分类任务。本章还将进一步地讲解梯度下降算法,通过可视化方法向读者演示了反向传播算法在模型训练过程中的误差传递情况。本章实战项目的演示也是为了帮助读者增强实际代码编写的能力。
第7章主要内容是决策树算法。本章以一个传统的“把戏”为开篇,介绍决策树算法的主要内容和算法基础。通过可视化实战分类与回归树,演示决策树的应用与数据分析方法。随后还对单一的决策树算法进行升级,介绍随机森林的理论与实战,帮助读者更好地了解随机森林与单一决策树之间的关系和应用场景。
第8章开始进入深度学习的学习。自然语言处理是机器学习一般无法涉及的内容。本章向读者介绍采用深度学习进行文本分类的一般方法和步骤,并通过一个实战项目演示采用TensorFlow进行文本分类的方法和过程。这一章内容比较简单,但是可以引导读者将兴趣从传统机器学习平移到机器学习中最新的深度学习领域。
第9章介绍使用深度学习进行图像识别和分类的基本方法,以及深度学习中比较重要的卷积、池化、激活函数、dropout等相关内容,并通过实战项目演示采用机器学习中的深度学习进行图像识别的方法。
第10章是深度学习模型与训练过程可视化部分,介绍基于Python的在线数据集TensorFlow Datasets的使用方法,这部分的内容能够帮助读者掌握机器学习中数据集的获取方法。而对于训练模型与过程可视化部分,还介绍了TensorBoard,这是一种对训练过程进行可视化观察的组件,熟练掌握TensorBoard能够帮助读者加深对机器学习运行机制的理解。
本书所有的内容都有翔实的理论介绍与完整的程序实现,在数据分析部分都提供了详尽的可视化讲解,旨在帮助读者解决在使用机器学习进行实践时可能遇到的各种问题。
配套示例源码、PPT课件下载
本书配套示例源码、PPT课件,需要使用微信扫描下面二维码获取,可按扫描后的页面提示填写你的邮箱,把下载链接转发到邮箱中下载。如果发现问题或疑问,请发送电子邮件联系booksaga@163.com,邮件主题为“Python机器学习与可视化分析实战”。
适合阅读本书的读者
·机器学习入门读者
·数据分析入门读者
·深度学习入门读者
·数据可视化分析入门读者
·高等院校人工智能、大数据专业的学生
·培训机构的学员
·其他对智能化、自动化感兴趣的开发者
勘误和支持
由于作者的水平有限,加之编写本书的时间跨度较长,同时机器学习技术的演进较快,在本书编写过程中难免会出现疏漏或者不准确的地方,恳请读者来信批评指正。
感谢清华大学出版社的老师们,在本书编写过程中提供了无私的帮助和宝贵的建议,正是由于他们的耐心和支持才让本书得以顺利出版。感谢我的家人对我的支持和理解,他们给予我莫大的动力,让我的努力更加有意义。
著 者
2022年7月