《Python数据挖掘:概念、方法与实践》一导读

Preface  前言

过去十年,数据存储变得更便宜,硬件变得更快,算法上也有了引人注目的进步,这一切为数据科学的快速兴起铺平了道路,并推动其发展成为计算领域最重要的机遇。虽然“数据科学”一词可以包含从数据清理、数据存储到用图形图表可视化数据的所有环节,但该领域最重要的收获是发明了智能、精密的数据分析算法。使用计算机寻找大量数据中埋藏的有趣模式称为数据挖掘,这一领域包含了数据库系统、统计学和机器学习等课题。

现在,软件开发人员可以找到数十种出色的数据挖掘和机器学习书籍,从而了解这一领域的所有最新进展。大部分这类书籍都有一个共同点,即它们都涵盖了寻找数据中模式的少数经过检验的方法:分类、聚类、决策树和回归。当然,这些方法对于任何数据挖掘人员都是非常重要的,它们的流行正是因为其有效性。但是,这几种技术并不是全部。数据挖掘是一个丰富多彩的领域,包括数十种发现模式并做出预测的技术。真正的数据挖掘大师应该在工具箱中放入许多工具,而不只是少数几种。因此,本书的使命是介绍一些通常仅在学校课本中出现的、鲜为人知的数据挖掘概念。

本书使用Python编程语言和基于项目的方法介绍多种常被忽视的数据挖掘概念,如关联规则、实体匹配、网络分析、文本挖掘和异常检测等。每章都全面阐述某种特定数据挖掘技术的基础知识,提供替代方案以评估其有效性,然后用真实的数据实现该技术。

专注于实际数据是本书不同于其他数据挖掘书籍的一个特征。为了验证我们是否掌握了某个概念,判断方法是看我们能否将某种方法应用于新的未知问题。对我们来说,这意味着将每种数据挖掘方法应用到一个新的问题领域或者新的数据集。强调真实数据还意味着,我们的结果可能不总像预先制作的示例数据集那样清晰。因此,每一章都包含对如何精密地评估方法的讨论。得到的结果是否有意义?结果意味着什么?如何改善这些结果?

所以,在许多方面,本书包含了其他一些数据挖掘书籍遗漏的知识。如果你想用一组有趣但常被忽视的技术补充日益增长的数据挖掘工具箱,那么学习我们介绍的特定主题,以及在每个章节中的应用方法。

本书主要内容

第1章简单介绍数据挖掘领域,在该章中,我们特别注意数据挖掘与类似主题(如机器学习和数据科学)的关系。还回顾了许多不同的数据挖掘方法,讨论它们的各种优点和缺点。这些基础知识对我们过渡到本书的其他章节很重要,后续的章节更偏重技术,专注于特定数据挖掘工具的应用。

第2章介绍我们的第一个数据挖掘工具:挖掘一组同时出现的项目,这有时候被称为频繁项集。这里扩展了对频繁项集挖掘的理解,包含关联规则的挖掘,并且学习如何评估所找到的规则是否有益。为了将知识用于实践,在该章的最后我们实施了一个小项目,寻找选择用来描述大量软件项目的关键词中的关联规则。

第3章的重点是找出看上去稍有不同但实际上相同的匹配数据元素对。学习如何通过使用数据属性,确定两个项目是否实际上是同一回事。在该章的最后,我们实施一个实体匹配项目,寻找从一个托管服务转移到另一个托管服务中的软件项目,即使该项目的名称和其他重要属性已经改变。

第4章是网络或者图形分析的教程,这两种分析用于描述各种相互联系的实体组之间的关系。我们研究各种类型的网络,学习描述和计量它们的方法。然后,将学习到的知识投入实践,描述一个软件开发人员网络是如何随时间而变化的。

第5章是本书4个文本挖掘章节中的第一个。该章简单介绍了发展中的文本情绪分析领域。比较情绪挖掘的各种方法并学习结果的评估手段之后,我们实践使用机器学习分类器来确定一组软件开发人员聊天记录和电子邮件记录中的情绪。

第6章是关于寻找文本中合适名词和名称的。我们花费一些时间,学习这一任务的用途,了解为什么寻找命名实体有时候比看上去更加困难。在该章的最后,我们在各种不同类型的实际文本(包括电子邮件、聊天记录和董事会会议纪要)上实现了一个命名实体识别系统。在实现过程中,我们应用了不同的技术以量化结果的成败。

第7章介绍多种自动创建浓缩的文本摘要的策略。该章强调摘要提取工具,这种工具用来找出文本样本中最重要的句子。为此,我们试验了3种实现这一目标的不同工具,测试摘要方法并了解它们之间的差异。在介绍了每种工具之后,我们尝试提取同一组文本文档的摘要,并对比结果。

第8章说明如何使用软件工具揭示给定文本中存在的主题或者概念。我们可以训练一个计算机程序,推断大量文本中存在的主题吗?在一系列试验中,我们学习使用常见的主题建模库揭示软件开发人员电子邮件中存在的主题,以及这些主题如何随时间推移而变化。

第9章中我们学习如何使用数据挖掘和统计技术改善自己的数据挖掘过程。虽然本书的其他章节都在寻找数据中不同类型的模式,但该章将重点放在寻找异常或者不匹配特定模式的数据。不管这是因为数据是空白、遗漏还是怪异的,本章都提供了寻找或者修复这类数据并使剩余数据可以被更有效挖掘的策略。

阅读准备

为了完成本书中的项目,你需要Python 3.5或者更高版本。我建议使用Anaconda Python,但是只要包含如下程序包,任何Python分发版本都是可行的:Numpy、MatPlotlib、NetworkX、PyMySQL、Gensim和NTLK。第1章会简单介绍Python的安装和以上程序库,此后,每次使用一个程序库,我们将同时安装或者升级它。

因为数据挖掘明显是以数据为中心的,而且我们使用的数据集有时候很大,需要某种持久化数据存储,所以本书选择在一个关系数据库系统上实现一些数据挖掘算法。我们选择MySQL实现这一目标,因为这是一个成熟、容易下载和安装的基础设施。第2章和第3章都使用MySQL与内存密集型算法搭配。同时,本书还在第9章中的某些例子里使用了MySQL,但是没有MySQL也可以完成该章的学习。

读者人群

如果你为了精通数据挖掘而选择书籍,那么可能已经熟悉了数据分析的基础知识,可能试验过回归、决策树、分类和聚类分析等机器学习技术;如果你有一定的Python经验,理解基本的关系数据库术语,对统计学基础有所了解,能够理解有监督与无监督机器学习技术的基本工作原理,那么就已经为本书的阅读做好了准备。让我们从你已有的知识入手,学习更加不同寻常的数据挖掘策略吧!

本书约定

在本书中,你将发现许多区分不同信息的文本格式。下面是这些格式的一些例子及对其意义的解释。

下面是一个代码块的示例:

任何命令输入或者输出使用如下格式:

表示警告或者重要说明。

表示提示和技巧。

下载示例代码

你可以在www.packtpub.com上用自己的账户下载示例代码文件。如果在其他地方购买本书,可以访问www.packtpub.com/support注册,这些文件将直接用电子邮件发送给你。

你也可以访问华章图书官网www.hzbook.com,通过注册并登录个人账号,下载本书的源代码。

Contents  目  录

译者序

关于审稿人

前言

第1章 扩展你的数据挖掘工具箱

1.1 什么是数据挖掘

1.2 如何进行数据挖掘

1.2.1 Fayyad等人的KDD过程

1.2.2 韩家炜等人的KDD过程

1.2.3 CRISP-DM过程

1.2.4 六步过程

1.2.5 哪一种数据挖掘方法最好

1.3 在数据挖掘中使用哪些技术

1.4 如何建立数据挖掘工作环境

1.5 小结

第2章 关联规则挖掘

2.1 什么是频繁项集

2.1.1 都市传奇“尿布与啤酒”

2.1.2 频繁项集挖掘基础知识

2.2 迈向关联规则

2.2.1 支持度

2.2.2 置信度

2.2.3 关联规则

2.2.4 包含数据的示例

2.2.5 附加值—修复计划中的漏洞

2.2.6 寻找频繁项集的方法

2.3 项目—发现软件项目标签中的关联规则

2.4 小结

第3章 实体匹配

3.1 什么是实体匹配

3.1.1 数据合并

3.1.2 匹配技术

3.1.3 基于属性的相似度匹配

3.1.4 属性匹配方法

3.1.5 利用不相交数据集

3.1.6 基于上下文的相似度匹配

3.1.7 基于机器学习的实体匹配

3.1.8 实体匹配技术的评估

3.2 实体匹配项目

3.2.1 软件项目匹配的难度

3.2.2 两个例子

3.2.3 根据项目名称匹配

3.2.4 根据人名匹配

3.2.5 根据URL匹配

3.2.6 按照主题和描述关键词匹配

3.2.7 数据集

3.2.8 代码

3.2.9 结果

3.3 小结

第4章 网络分析

4.1 什么是网络

4.2 网络计量

4.2.1 网络的度数

4.2.2 网络直径

4.2.3 网络中的通路、路径和迹

4.2.4 网络的成分

4.2.5 图的中心性

4.3 图数据的表示

4.3.1 邻接矩阵

4.3.2 边表和邻接表

4.3.3 图数据结构之间的差别

4.3.4 将数据导入图结构中

4.4 真实项目

4.4.1 探索数据

4.4.2 生成网络文件

4.4.3 以网络的形式理解数据

4.5 小结

第5章 文本情绪分析

5.1 什么是情绪分析

5.2 情绪分析基础知识

5.2.1 观点的结构

5.2.2 文档级和句子级分析

5.2.3 观点的重要特征

5.3 情绪分析算法

5.4 情绪挖掘应用

5.4.1 项目动机

5.4.2 数据准备

5.4.3 聊天消息的数据分析

5.4.4 电子邮件消息的数据分析

5.5 小结

第6章 文本中的命名实体识别

6.1 为什么寻找命名实体?

6.2 命名实体识别技术

6.3 NER系统的构建与评估

6.3.1 NER和部分匹配

6.3.2 处理部分匹配

6.4 命名实体识别项目

6.5 小结

第7章 自动化文本摘要

7.1 什么是自动化文本摘要

7.2 文本摘要工具

7.2.1 使用NTLK的简单文本摘要

7.2.2 使用Gensim的文本摘要

7.2.3 使用Sumy的文本摘要

7.3 小结

第8章 文本中的主题建模

8.1 什么是主题建模

8.2 潜在狄利克雷分配

8.3 Gensim主题建模

8.3.1 理解Gensim LDA主题

8.3.2 理解Gensim LDA的遍数

8.3.3 对新文档应用Gensim LDA模型

8.3.4 序列化Gensim LDA对象

8.4 用于更大项目的Gensim LDA

8.5 小结

第9章 挖掘数据异常

9.1 什么是数据异常

9.1.1 缺失数据

9.1.2 修复缺失数据

9.1.3 数据错误

9.1.4 离群值

9.2 小结

时间: 2024-09-08 02:10:36

《Python数据挖掘:概念、方法与实践》一导读的相关文章

《TCP/IP路由技术(第二卷)》一导读

前 言 TCP/IP路由技术(第二卷)自从出版了<TCP/IP路由技术(第一卷)>之后,虽然Cisco Press"CCIE职业发展系列"中增加了大量新书,而且CCIE计划本身也被扩展到多个专业领域,但IP路由协议仍然是所有准CCIE们的核心基础.因此,必须透彻地对其加以理解和掌握,否则基础不牢,大厦将倾. 我在<TCP/IP路由技术(第一卷)>的前言中曾经说过,"--随着互联网络规模和复杂性的不断增大,路由问题也随即变得庞大且错综复杂".由

《TCP/IP路由技术(第二卷)》一1.4 配置EGP

1.4 配置EGP TCP/IP路由技术(第二卷) 通过以下4个基本步骤即可完成路由器上的EGP配置. 第1步:利用命令autonomous-system指定路由器的AS. 第2步:利用命令router egp启动EGP进程并指定邻居的AS. 第3步:利用命令neighbor指定EGP邻居. 第4步:指定由EGP宣告的网络. 下面的第一个案例研究将详细解释前3个配置步骤,同时也给出了步骤4的多种实现方法. 1.4.1 案例研究:EGP末梢网关 图1-10给出了一台位于AS 65502的EGP末梢

《TCP/IP路由技术(第二卷)》一1.9 配置练习题

1.9 配置练习题 TCP/IP路由技术(第二卷) 本书附录E中提供了以下配置练习题的答案. (1)图1-14中的自治系统65531是一个核心AS,请在RTA和RTB上配置EGP,要求如下: 不要将AS内的数据链路宣告给任何外部邻居. RTA将连接在其S1接口上的网络宣告给RTB:另外,要求RTA和RTB之间不能宣告其他AS间链路. RTA和RTB向其外部邻居(除了从其他自治系统学习到的网络)宣告默认路由,而且这两个网关都不得将默认路由宣告给其内部邻居. (2)例1-26给出了图1-15中RTC

《TCP/IP路由技术(第二卷)》一1.1 EGP的起源

1.1 EGP的起源 TCP/IP路由技术(第二卷)在20世纪80年代早期,构成ARPANET(现代互联网的前身)的路由器(网关)设备上都运行了一种距离向量路由协议--GGP(Gateway-to-Gateway Protocol,网关到网关协议).但是随着ARPANET的不断发展,与当今许多负责管理日益增长的互联网络的网管员一样,ARPANET的架构师们也预见到了相同的问题:现在运行的路由协议没有很好的扩展性. Eric Rosen在RFC 827中阐述了以下扩展性问题. 由于所有的网关都要知

《TCP/IP路由技术(第二卷)》一1.6 附 注

1.6 附 注 TCP/IP路由技术(第二卷)1Eric Rosen,"RFC 827:外部网关协议(EGP)". 2Linda J. Seamonson和Eric C. Rosen"RFC 888:'末梢'外部网关协议". 3D.L. Mills,"RFC 904:外部网关协议正式规范". 4J. Rekhter,"RFC 1092:EGP和新NSFNET骨干网的策略路由".

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

《TCP/IP路由技术(第二卷)》一1.7 展 望

1.7 展 望 TCP/IP路由技术(第二卷)本章不但说明了AS间路由协议的发明驱动力,也解释了EGP难以胜任该角色的原因.第2章将简要描述EGP的替代协议--边界网关协议及其操作.表1-10汇总了本章用到的所有命令.

《TCP/IP路由技术(第一卷)(第二版)》一导读

前 言 TCP/IP路由技术(第一卷)(第二版)路由技术即使在最小的数据通信网络中也是基本的要素.在某种程度上,路由技术和路由器的配置是相当简单的.但是,当网络的规模越来越大,并且越来越复杂的时候,路由选择问题就变得比较突出和难以控制了.或许,有点不恰当地说,作为一名网络系统顾问,我应该感谢当前出现的大规模路由技术难题,这些问题给了我谋生的手段.假设没有它们,"你何以为生?"这句习语可能就会不幸地成为我每天生活词汇的一部分了. Cisco认证互联网专家(CCIE)在大型网络的设计.故障

《TCP/IP路由技术(第一卷)(第二版)》一第1章 TCP/IP回顾1.1 TCP/IP协议层

第1章 TCP/IP回顾 TCP/IP路由技术(第一卷)(第二版)本章包括以下主题: TCP/IP协议层: IP包头(IP Packet Header): IPv4地址: 地址解析协议(ARP): Internet控制消息协议(ICMP): 主机到主机层. 考虑到这本书的书名是<TCP/IP路由技术>,有必要从回顾TCP/IP的基本知识开始讲起,然后再讲述如何进行TCP/IP路由选择.如果读者正在准备Cisco认证互连网专家(Cisco Certified Internetwork Exper