数据挖掘(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-26 00:24:35

点击下载

作者:王朝霞

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

数据挖掘

数据挖掘试读:

前言

21世纪初,人类迈入大数据时代,各行各业拥抱大数据,希冀借大数据挖掘与分析来促进产业升级与变革。因此,大数据人才的需求呈现井喷之势。

中国信息协会大数据分会副会长刘鹏教授顺势而为,周密思考,提出高级大数据人才培养课程体系,并邀请全国上百家高校中从事一线教学科研任务的教师一起,编撰“高级大数据人才培养丛书”。本书即该套丛书之一。

本书的定位是大数据挖掘技术与应用。以“让学习变得轻松”为根本出发点,本书努力回答:数据挖掘是什么?发展如何?经典的数据挖掘算法有哪些?大数据环境下数据挖掘有哪些新特点和新延展?如何分析实际问题,如何应用?本书编写的指导思想有三方面。一是理论与应用相呼应。从数据挖掘算法理论与方法、工具和应用两方面进行阐述,既注重理论,又贴近实战,解行结合,希望学习者既能很快将理论应用于实际领域的数据分析中,同时也具备厚积薄发的能力。二是基础与发展一脉相承。大数据新常态下经典数据挖掘的基本原理仍然适用,不同之处在于,根据现有分布式、并行环境,对原有算法进行优化。本书循序渐进地介绍经典数据挖掘算法,以及大数据环境下数据挖掘算法的新特点和新延展,有助于学习者全面掌握数据挖掘理论。三是局部与全局整体联动。本书属于“高级大数据人才培养丛书”系列教材,因此,在本书内容组织上,需要考虑与丛书其他教材的关系,既紧密联系又自成一体,共同组成高级大数据人才培养课程体系,例如,考虑到丛书中《深度学习》一书对神经网络技术有详尽的介绍,故本书没有再介绍神经网络相关技术。

基于上述指导思想,本书内容分为四部分:一是概念与基础(第1、2章);二是经典的数据挖掘算法(第3~6章);三是大数据挖掘技术,其中,第7章重点介绍了大数据环境下经典数据挖掘算法的优化与改进,第8章介绍了推荐系统的理论与方法,第9章则对链接分析与网页排序、互联网信息抽取、日志挖掘与查询分析等技术进行了介绍;四是常用数据挖掘工具(包),见附录。

本书成稿过程中得到了丛书总主编刘鹏教授和金陵科技学院张燕副校长的大力支持,在书稿提纲和内容组织上提出了诸多建设性意见。同时,两轮审稿评审专家对本书给予了全面指导和帮助,在此一并致谢。

当前,大数据挖掘技术仍处在高速发展的历史阶段,其概念内涵、技术方法、应用模式还在不断创新演化之中,由于时间和水平所限,本书还存在缺点和不足,欢迎大家不吝赐教。王朝霞于重庆市陆军勤务学院第1章 绪论

计算机技术、数据库技术和传感器技术的飞速发展,使人们获取数据和存储数据变得越来越容易。社会信息化水平的不断提高和数据库应用的日益普及,使人类积累的数据量正在以指数方式增长。与日趋成熟的数据管理技术与软件工具相比,数据分析技术与工具所提供的功能,却无法有效地为决策者提供其决策支持所需的有效知识,从而形成了一种“丰富的数据,贫乏的知识”的现象。为有效解决这一问题,自20世纪80年代开始,数据挖掘技术逐步发展起来,人们迫切希望能对海量数据进行更加深入的分析,发现并提取隐藏在其中的有价值信息,以便更好地利用这些数据。数据挖掘技术的迅速发展,得益于目前全世界所拥有的巨大数据资源,以及对其中有价值的信息和知识的巨大需求。在这种背景下,数据挖掘的理论和方法获得了飞速的发展,其技术和工具已经广泛应用到互联网、金融、电商、管理、生产、决策等各个领域。1.1 数据挖掘概述1.1.1 数据挖掘的概念

数据挖掘(Data Mining,DM),是从大量的、有噪声的、不完全的、模糊和随机的数据中,提取出隐含在其中的、人们事先不知道的、[1]具有潜在利用价值的信息和知识的过程。这个定义包括几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用,并不要求放之四海皆准的知识,仅支持特定的发现问题。所提取到的知识的表示形式可以是概念、规律、规则与模式等。数据挖掘能够对将来的趋势和行为进行预测,从而帮助决策者做出科学和合理的决策。比如,通过对公司数据库系统的分析,数据挖掘可以回答诸如“哪些客户最有可能购买我们公司的什么产品?”“客户有哪些常见的消费模式和消费习惯?”等类似问题。

与数据挖掘相似的概念是知识发现(Knowledge Discovery in Databases,KDD),知识发现是指用数据库管理系统来存储数据、用机器学习方法来分析数据、挖掘大量数据背后隐藏的知识的过程。数据挖掘是整个知识发现流程中的一个具体步骤,也是知识发现过程中最重要的核心步骤。

数据挖掘是一个交叉学科,涉及数据库技术、人工智能、数理统计、机器学习、模式识别、高性能计算、知识工程、神经网络、信息检索、信息的可视化等众多领域,其中数据库技术、机器学习、统计学对数据挖掘的影响最大。对数据挖掘而言,数据库提供数据管理技[2]术,机器学习和统计学提供数据分析技术。数据挖掘所采用的算法,一部分是机器学习的理论和方法,如神经网络、决策树等;另一部分是基于统计学习理论,如支持向量机、分类回归树和关联分析等。但传统的机器学习和统计学研究往往并不把海量数据作为处理对象,因此数据挖掘要把这两类技术用于海量数据中的知识发现,需要对算法进行改造,使得算法性能和空间占用达到实用的地步。

常见的数据挖掘对象有以下七大类:(1)关系型数据库、事务型数据库、面向对象的数据库。(2)数据仓库、多维数据库。(3)空间数据(如地图信息)。(4)工程数据(如建筑、集成电路信息)。(5)文本和多媒体数据(如文本、图像、音频、视频数据)。(6)时间相关的数据(如历史数据或股票交换数据)。(7)万维网(如半结构化的HTML、结构化的XML以及其他网络信息)。1.1.2 大数据环境下的数据挖掘

继互联网、物联网、云计算的不断发展及智能终端的普及,海量复杂多样的数据呈现出爆炸式的增长,标记着“大数据”时代的到来。作为重要的生产因素,大数据已成为蕴含巨大潜在价值的战略资产,推动着产业升级和崛起,影响着科学思维与研究方法的变革。然而,大数据在依托其丰富的资源储备和借助强大的计算技术发挥优势的同时,也带来了极大的挑战。海量、动态及不确定的数据使得传统数据处理系统面临着存储和计算瓶颈,同时,就如何从复杂的大数据中实时且快速地挖掘出有价值的信息和知识,传统的数据挖掘技术自身受限的功能已无法满足用户的需求。因此,大数据环境下需要一种[3]适用技术,即“大数据挖掘”,来应对面临的挑战。

大数据挖掘是从体量巨大、类型多样、动态快速流转及价值密度低的大数据中挖掘有巨大潜在价值的信息和知识,并以服务的形式提供给用户。与传统数据挖掘相比,大数据挖掘同样是以挖掘有价值的信息和知识为目的,然而就技术发展背景、所面临的数据环境及挖掘的广度深度而言,两者存在很多差异:1.技术背景差异

传统数据挖掘在数据库、数据仓库及互联网发展等背景下,实现了从独立、横向到纵向数据挖掘的发展。而大数据挖掘是在大数据背景下得益于云计算、物联网、移动智能终端等技术产生与发展,具备了充实环境技术条件,基于云计算等相关技术集成实现海量数据的挖掘。2.处理对象的差异

传统数据挖掘的数据来源主要是以某个特定范围的管理信息系统被动数据的产生为主,外加少数的 Web 信息系统中由用户产生的主动数据,数据类型以结构化数据为主,外加少量的半结构化或非结构化数据。相比于传统数据挖掘,大数据挖掘的数据来源更广、体量巨大、类型更加复杂;采集方式不再局限于被动,采集范围更为全面,吞吐量高,处理实时且快速,但由于对数据的精确度要求不高致使数据的冗余度和不确定性较高。3.挖掘程度差异

大数据挖掘与传统数据挖掘处理分析数据的广度、深度也存在差异。在复杂类型、结构及模式的数据交错融合时,大数据挖掘能利用云平台集成多种计算模式与挖掘算法对庞杂的数据进行实时处理与多维分析,其处理数据的范围更广,挖掘分析更加全面深入。

总体而言,大数据挖掘是在大数据环境下,以大数据为来源,依托云计算及大数据相关技术的支撑,利用挖掘工具发现潜在的有价值信息和知识,并将结果以云服务的方式提供给用户。1.1.3 数据挖掘的特性

在大数据时代,数据的产生和收集是基础,数据挖掘是关键,即数据挖掘是大数据中最关键、最有价值的工作。数据挖掘可以用以下[4]3个特性概括。(1)应用性:数据挖掘是理论算法和应用实践的完美结合。数据挖掘源于实际生产生活中应用的需求,挖掘的数据来自于具体应用,同时通过数据挖掘发现的知识又要运用到实践中去,辅助实际决策。所以,数据挖掘来自于应用实践,同时也服务于应用实践。(2)工程性:数据挖掘是一个由多个步骤组成的工程化过程。数据挖掘的应用特性决定了数据挖掘不仅仅是算法分析和应用,而是一个包含数据准备和管理、数据预处理和转换、挖掘算法开发和应用、结果展示和验证以及知识积累和使用的完整过程。而且在实际应用中,典型的数据挖掘过程还是一个交互和循环的过程。(3)集合性:数据挖掘是多种功能的集合。常用的数据挖掘功能包括数据探索分析、关联规则挖掘、时间序列模式挖掘、分类预测、聚类分析、异常检测、数据可视化和链接分析等。一个具体的应用案例往往涉及多个不同的功能。不同的功能通常有不同的理论和技术基础,而且每一个功能都有不同的算法支撑。

总而言之,数据挖掘源于实践中的实际应用需求,用具体的应用数据作为驱动,以算法、工具和平台作为支撑,最终将发现的知识和信息用到实践中去,从而提供量化、合理、可行、能够产生巨大价值的信息。1.1.4 数据挖掘的过程

1999年,欧盟创建了跨行业的数据挖掘标准流程,即 CRISP-DM(Cross Industry Standard Process for Data Mining),提供了一个数据挖掘生命周期的全面评述,包括业务理解、数据理解、数据准备、[5]数据建模、模型评估与部署6个阶段,如图1-1所示。

第1阶段:业务理解,主要任务是深刻理解业务需求,在需求的基础上制定数据挖掘的目标和实现目标的计划。

第2阶段:数据理解,主要收集数据、熟悉数据、识别数据的质量问题,并探索引起兴趣的子集。

第3阶段:数据准备,从收集来的数据集中选择必要的属性(因素),并按关联关系将它们连接成一个数据集,然后进行数据清洗,即空值和异常值处理、离群值剔除和数据标准化等。[5]图1-1 CRISP-DM数据挖掘过程示意图

第4阶段:数据建模,选择应用不同的数据挖掘技术,并确定模型最佳的参数。如果初步分析发现模型的效果不太满意,要再跳回数据准备阶段,甚至数据理解阶段。

第5阶段:模型评估,对建立的模型进行可靠性评估和合理性解释,未经过评估的模型不能直接去应用。彻底地评估模型,检查构造模型的步骤,确保模型可以完成业务目标。如果评估结果没有达到预想的业务目标,要再跳回业务理解阶段。

第6阶段:部署阶段,根据评估后认为合理的模型,制定将其应用于实际工作的策略,形成应用部署报告。1.2 数据挖掘起源及发展历史

数据挖掘技术出现于20世纪80年代末,是在多个学科发展的基础上发展起来的。随着数据库技术的发展应用,数据的积累不断膨胀,导致简单的查询和统计已经无法满足企业的商业需求,急需一些革命性的技术去挖掘数据背后的信息。与此同时,计算机领域的人工智能(Artificial Intelligence,AI)也取得了巨大进展,进入了机器学习的阶段。因此,人们将两者结合起来,用数据库管理系统存储数据,用计算机分析数据,并且尝试挖掘数据背后的信息,这两者的结合促生了[6]一门新的学科,即数据挖掘。

1989年8月于美国底特律市召开的第十一届国际联合人工智能学术会议上首次提到“知识发现”这一概念,到1993年,美国电气电子工程师学会(IEEE)的知识与数据工程(Knowledge and Data Engineering)会刊出版了KDD技术专刊,发表的论文和摘要体现了当时 KDD 的最新研究成果和动态。1995年在加拿大蒙特利尔召开的首届“知识发现和数据挖掘”国际学术会议上,首次提出了“数据挖掘”这一学科的名称,并把数据挖掘技术分为科研领域的知识发现与工程领域的数据挖掘。之后每年召开一次这样的会议,经过十几年的努力,数据挖掘技术的研究已经取得了丰硕的成果。美国麻省理工学院在2001年1月份的《科技评论》中提出数据挖掘将是未来5年对人[7]类产生重大影响的十大新兴技术之一。

数据挖掘可以在任何类型的存储信息上进行,比如关系数据库、数据仓库、文本和多媒体数据库、事务数据库、WWW 等。目前,数据挖掘技术在购物篮分析、金融风险预测、分子生物学、基因工程研究、Internet 站点访问模式发现以及信息搜索等领域得到了广泛的应用。因此数据挖掘技术具有极其重要的研究意义,给各个领域的研究人员提供了一种新的认识数据、使用数据的智能手段。

起初,数据挖掘的几个研究热点主要包括网站的数据挖掘(Web Site Data Mining)、生物信息或基因(Bioinformatics/Genomics)的数据挖掘等方向。

网站的数据挖掘就是从网站的各类数据中得到有价值的信息,与一般的数据挖掘差别不大,但是其数据格式很大一部分来自于点击[8]率,与传统的数据库格式有区别。

生物信息或基因的数据挖掘对人类生存发展有着非常重要的意义,基因的组合千变万化,能否找出病人基因和正常人基因的不同之处,进而对其加以改变,这就需要数据挖掘技术的支持,但其数据形式、挖掘算法模型比较复杂。

随着越来越多的业务需求被不断开拓,数据挖掘已成功应用于社会生活的方方面面,目前在很多领域,如商业、医学、科学研究等均有不少成功的应用案例。为了提高系统的决策支持能力,像 ERP、SCM、HR 等一些应用系统也逐渐与数据挖掘集成起来。多种理论与方法的合理整合是大多数研究者采用的有效技术。

对数据挖掘而言,哪里有数据哪里就能挖掘到“金子”,但是,随着物联网、云计算和大数据时代的来临,要在急剧膨胀的数据中挖掘“金子”,无疑给数据挖掘技术的实施提出了挑战。[9]

物联网就是物物相连的网络,是数字世界与物理世界的高度融合。物联网底层的大量传感器为信息的获取提供了一种新的方式,这些传感器不断地产生着新的数据,随着各种各样的异构终端设备的接入,物联网采集的数据量也就越来越大,其数据类型和数据格式也会越来越复杂。这些数据与时间和空间相关联,有着动态、异构和分布的特性,也为数据挖掘任务带来了新的挑战。[10]

云计算是一种基于互联网相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态、易扩展且经常是虚拟化的资源(包括硬件、平台和软件),实现了设备之间的数据应用和共享。随着物联网的发展,感知的信息不断增加,需要不断地增加服务器的数目来满足需求,但由于服务器的承载能力是有限的,使得服务器在节点上出现混乱和错误的概率大大增加。为了更好地服务,基于云计算的系统能有效地解决物联网分布式数据挖掘中所遇到的问题,在进行相关数据挖掘时能够显著地提高性能。

随着人类活动的进一步扩展,数据规模会急剧膨胀,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的各行业累积的数据量越来越巨大,数据类型也越来越多、越来越复杂,已经超越了传统数据管理系统、处理模式的能力范围,于是“大数据”[1]这样一个在含义上趋近于“无穷大”的概念才会应运而生。大数据的处理,难点就在于如何从海量数据中挖掘出有价值的信息,这就需要设计出符合大数据特征的数据以及具体的分析工具,进而促进对大数据的挖掘分析。在大数据背景下数据挖掘要面临的挑战,主要表现[11,12]在以下几个方面。(1)数据类型的多样性:不同的应用、系统和终端,由于标准的差异性,会产生不同结构的数据,其中包括结构化数据、半结构化数据和非结构化数据,对这些异构化数据的抽取与集成将成为一大挑战。(2)数据挖掘分析模型的重构:在大数据的背景下要以低成本和可扩展的方式处理大数据,这就需要对整个 IT 架构进行重构,开发先进的软件平台和算法。近年来以开源模式发展起来的 Hadoop 等大数据处理软件平台,及相关产业已经在一些国家初步形成。目前尽管计算机智能化有了很大进步,但还只是针对小规模、有结构或者类结构的数据进行分析,对于深层次的数据挖掘,现有的数据挖掘算法[13]在不同行业中还难以通用。(3)清洗粒度大小不易把握:由于普适终端所处地理位置的复杂性,使得产生的数据具有很多噪声。在进行数据清洗时,不易把握清洗粒度。粒度太大,残留的噪声会干扰有价值的信息,粒度太小,可能会遗失有价值的信息。(4)数据开放与隐私的权衡:互联网的交互性,使得人们在不同位置产生的数据足迹得到积累和关联,从而增加了隐私暴露的概率,且这种隐性的数据暴露往往是无法控制和预知的。随着数据挖掘工具和电子产品的日益普及,如何在推动数据全面开放、应用和共享的同时有效地保护公民和企业的隐私、逐步加强隐私立法,将是数据挖掘要面对的一个重要问题。[14]

未来数据挖掘发展趋势如下。(1)数据挖掘语言的标准化描述:标准的数据挖掘语言将有助于数据挖掘的系统化开发。改进多个数据挖掘系统和功能间的互操作,促进其在企业和社会中的使用。(2)数据挖掘过程的可视化方法:可视化要求已经成为数据挖掘系统中必不可少的技术,可以在发现知识的过程中进行很好的人机交互。数据的可视化起着推动人们主动进行知识发现的作用。(3)与特定数据存储类型的适应问题:根据不同的数据存储类型的特点,进行针对性的研究是目前流行以及将来一段时间必须面对的问题。(4)网络与分布式环境下的数据挖掘问题:随着 Internet 的不断发展,网络资源日渐丰富,这就需要分散的技术人员各自独立地处理分离数据库的工作方式应是可协作的。因此,考虑适应分布式与网络环境的工具、技术及系统将是数据挖掘中极为重要的子领域。(5)应用的探索:随着数据挖掘的日益普遍,其应用范围也日趋扩大,如生物医学、电信业、零售业等领域。由于数据挖掘在处理特定应用问题时存在局限性,因此,目前的研究趋势是开发针对特定应用的数据挖掘系统。(6)数据挖掘与数据库系统和 Web 数据库系统的集成:数据库系统和以 Web 查询接口方式访问数据库资源的Web数据库已经成为信息处理系统的主流。通常来说,数据存储在数据库系统和Web 数据库系统中,在此之上进行数据挖掘与应用。1.3 数据挖掘常用工具

由于数据挖掘技术在各领域产生的巨大商业价值,一些著名的大学和国际知名公司纷纷投入到数据挖掘工具的研发中,开发出很多优[15,16]秀的数据挖掘工具。数据挖掘工具可分为商用工具和开源工具。1.3.1 商用工具

商用工具主要由商用的开发商提供,通过市场销售,并提供相关的服务。商用软件不仅提供易用的可视化界面,还集成了数据处理、建模、评估等一整套功能,并支持常用的数据挖掘算法。与开源软件工具相比,商用软件功能更强大,软件性能更成熟和稳定。主流的商用工具有SAS Enterprise Miner、SPSS Clementine、IBM Intelligent Miner等,这些工具在各行业的数据统计和数据挖掘工作中取得了广泛的应用。1.SAS Enterprise Miner

SAS Enterprise Miner,它是一种通用的数据挖掘工具,按照SAS定义的数据挖掘方法——SEMMA 方法,即抽样(Sample)、探索(Explore)、修改(Modify)、建模(Model)、评价(Assess)的方式进行数据挖掘。它把统计分析系统和图形用户界面(GUI)集成起来,为用户提供了用于建模的图形化流程处理环境,可利用具有明确代表意义的图形化模块将数据挖掘的工具单元组成一个处理流程图,并依此来组织数据挖掘过程。图形化的界面、可视化的操作,统计学无经验的用户也可以理解和使用它;但对于有经验的专家,它也可让用户精细地调整分析处理过程。它支持并提供一组常用的数据挖掘算法,包括决策树、神经网络、回归、关联、聚类等,还支持文本挖掘。2.SPSS Clementine

Clementine 是 SPSS 公司开发的数据挖掘工具,支持整个数据挖掘过程,即从数据获取、转化、建模、评估到最终部署的全部过程,还支持数据挖掘的行业标准 CRISPDM。

Clementine 结合了多种图形使用接口的分析技术,使得 Clementine 不仅具有分析功能,还能够提供可使用的简单的、可视化程序环境。Clementine 资料读取能力强大,支持多种数据源的读取,而且为用户提供大量的人工智能、统计分析的模型(神经网络、聚类分析、关联分析、因子分析等)。Clementine 是采用客户/服务器架构的产品,既可以单机运行,也可以连接网络上的Clementine Server。

Clementine 的设计思想是用简单的方式进行数据挖掘,尽量屏蔽数据挖掘算法的复杂性以及软件操作的繁琐性,使数据挖掘人员将更多的精力放在使用先进的挖掘技术解决商业问题而不是操作软件本身。3.IBM Intelligent Miner

IBM 的 Intelligent Miner 包含了最广泛的数据挖掘技术及算法,可容纳相当大的数据量且有强大的计算能力。它在IBM SP的并行处理计算机系统上执行效率最好,但也可以在IBM或非IBM平台上执行。丰富的API可用来开发数据挖掘应用软件,可通过C函数库来存取所有数据挖掘引擎和操作函数。它包含多种统计方法和挖掘算法,可以进行线性回归、因子分析、主变量分析、分类、分群、关联、相似序列、序列模式、预测等。

Intelligent Miner包括分析软件工具Intelligent Miner for Data和Intelligent Miner for Text,不仅可以寻找包含于传统文件、数据库、数据仓库和数据中心中的隐含信息,更允许企业从文本信息中获取有价值的客户信息。4.QUEST

QUEST 是 IBM 公司 Almaden 研究中心开发的一个多任务数据挖掘系统,该系统提供了高效的数据开采基本构件,可用于新一代决策支持系统的应用开发。

QUEST 提供了专门在大型数据库上进行各种开采的功能,包括关联规则发现、序列模式发现、时间序列聚类、决策树分类、递增式主动开采等。各种开采算法可适用于任意大小的数据库,并具有近似线性计算复杂度。1.3.2 开源工具

开源工具,意为向公众开放源代码的软件工具,最大的优势在于免费。研制开源软件的技术人员相信软件应该是开放的,让任何有能力的人参与并共同完善软件,能集思广益,并使得软件更新速度更快。除了商业数据挖掘软件外,市场上也出现了一批优秀的开源数据挖掘软件,它们在数据挖掘方面同样具有自己的特点和优势。相对于商业工具,开源软件工具更容易学习和掌握,缺乏数理统计知识的人员也能使用。1.R

R 是用于统计分析和图形化的计算机语言及分析工具,提供了丰富的统计分析和数据挖掘功能,其核心模块是用C、C++和Fortran语言编写的。为了便于使用,它提供了一种脚本语言,即R语言。R语[15]言以S语言环境为基础,R支持一系列分析技术,包括统计检验、预测建模、数据可视化等。在 CRAN(http://cran.r-project.org) 上可以找到众多开源的扩展包。

R 是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言;可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。R 的思想是:它可以提供一些集成的统计工具,但更主要的是它提供各种数学计算、统计计算的函数,从而让使用者能灵活机动地进行数据分析,甚至创造出符合需要的新的统计计算方法。2.Python[17]

Python是一种功能强大的、开源的、解释性、面向对象的计算机编程语言,内建各种高级数据结构,支持模块和包,支持多种平台并可扩展。Python 语言简洁、易学习、易阅读,能降低程序的维护费用,已经成为很多用户所欢迎的、用途广泛的语言。国内用户对Python可能还比较陌生,但在国外它早已得到成熟和广泛的应用。著名的搜索引擎Google的核心代码就是用Python完成的。

Python 在数据统计、机器学习方面得到广泛应用,是人工智能研究领域中一个非常重要的工具。随着 NumPy、SciPy、Matplotlib 和 Pandas 等众多程序库的开发,Python在科学计算和数据分析领域占据着越来越重要的地位。相对于R语言,Python更平易近人,它能完成数据统计、分析、可视化等任务,满足几乎所有数据挖掘下所需的数据处理、统计模型和图表绘制等功能需求。3.Weka

Weka(Waikato Environment for Knowledge Analysis)的全称是怀卡托智能分析环境,是一款免费的、非商业化的数据挖掘软件,它[18]是基于Java环境下开源的机器学习与数据挖掘软件。Weka作为一个公开的数据挖掘工作平台,集成大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理、分类、回归、聚类、关联规则,以及交互式界面上的可视化。

Weka 可能是名气最大的开源机器学习和数据挖掘软件。高级用户可以通过 Java 编程和命令行来调用其分析组件,同时它也为普通用户提供了图形化界面。使用 Weka 可以轻松地进行数据挖掘,可以在数据集上进行数据预处理和运用数据挖掘算法。

Weka 的灵活性和可扩展性很好,它允许开发和扩展新的挖掘算法。Weka 提供了文档全面的Java函数和类库,非常适合扩展。当然,你首先需要充分了解Weka的架构,并掌握Java编程技术。4.RapidMiner

RapidMiner原名YALE(Yet Another Learning Environment),是用于数据挖掘、机器学习、商业预测分析的开源计算环境。它提供了图形化界面,采用了类似Windows资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符。YALE 提供了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。这些算子由详细的XML文件记录,并通过RapidMiner图形化用户界面表现出来。

RapidMiner 提供的数据挖掘和机器学习程序包括:数据加载和转换(ETL)、数据预处理和可视化、建模、评估和部署。数据挖掘的流程以 XML 文件加以描述,并通过图形用户界面显示出来。

RapidMiner是由Java编程语言编写的,集成了Weka的学习器和评估方法,并可以与R语言进行协同工作。5.Mahout

Mahout是Apache Software Foundation(ASF)旗下的一个开源项目,在机器学习领域提供了一些可扩展的经典算法的实现和数据挖掘的程序库。它可以实现很多功能,包括聚类、分类、推荐过滤、频繁子项挖掘等。Mahout 的算法既可以在单机上运行,也可在 Hadoop 平台上运行。Mahout 通过将机器学习算法建于 MapReduce 并行计算模型之上,并将算法的输入、输出和中间结果构建于 HDFS 分布式文件系统之上,使得Mahout 具有高吞吐、高并发、高可靠性的特点,这就保证了其适合于大规模数据的机器学习。目前 Mahout 已经停止接受新的 MapReduce 算法,改为支持基于 Spark

2和 H0平台的算法。Mahout 实现的机器学习算法包括:聚类算法、分类算法、关联规则挖掘、回归、降维、进化算法、过滤、向量相似度计算等。6.Spark MLlib

Spark 是一个开源集群运算框架,最初是由加州大学柏克利分校 AMPLab 实验室开发的。Spark和Hadoop MapReduce同为主流大数据处理系统,但它使用了内存内运算技术,相比于 MapReduce程序运行性能要好10~100倍,且编程更为方便,支持 SQL 查询、流式查询,自带机器学习算法实现库 MLlib,提供 Java、Scala、Python、R 等多种语言的API接口,并且兼容HBase、HDFS等Hadoop数据源,使得原来基于Hadoop的大数据应用系统可以很容易地迁移到Spark上,从而受到广大开发者的热捧。

MLlib(Machine Learning lib)是Spark中的一个可扩展的机器学习库,由通用的学习算法和工具组成,包括分类、线性回归、聚类、协同过滤、梯度下降以及底层优化原语。MLlib 是专为在集群上并行运行而设计的,只包含能够在集群上运行良好的并行算法,因此MLlib中的每个算法都适用于大规模数据集。1.4 数据挖掘应用场景

数据挖掘技术最初就是面向应用的,尤其是在电信、金融、保险、交通、零售(如超市)、生物医学、地震预测、工业产品设计等领域。例如:加拿大 Simon Fraser 大学研究组根据加拿大 BC 省电信公司拥有的十多年的客户数据,总结、分析并提出新的电话收费和管理办法,制定既有利于公司又有利于客户的优惠政策。美国著名的国家篮球队 NBA 的教练,利用 IBM 公司提供的数据挖掘工具 Advanced Scout 临场决定替换队员。数据挖掘能解决的典型商业问题有:客户关系管理、数据库营销、客户群体细分、交叉销售等市场分析行为,以及客户流失性分析、客户信用记分及欺诈发现等。下面列举几个经典的数据挖掘应用场景。1.数据挖掘在电信业中的应用

随着4G 时代的到来,电信业发展面临着前所未有的机遇和挑战,[19]客户服务的质量是关系到电信运营商发展的主要因素。数据挖掘广泛应用于国内电信行业中,对企业日常经营数据进行数据分析与挖掘,从海量数据中寻找数据相互之间的关系或模式。挖掘内容包括客户细分、消费层次变动、客户流失分析、业务预测、客户生命周期价值分析等,为公司决策者提供可靠的决策依据。①客户细分。客户细分就是将客户划分为不同的群体,采用数据挖掘中的聚类和分类算法对数据集进行划分,使划分出来的每个群体都具有自己的特征,从而使企业可以根据客户群体的不同特征为客户提供差异化和个性化的服务。通过对目标客户群体和客户实际需求等方面的深入理解,企业可以制定适宜的营销策略、广告策略、促销策略等来实现公司更好的客户服务,增加企业的语音业务和各项增值业务的收入。例如,中国移动针对不同客户群体推出全球通、神州行和动感地带三大客户品牌。全球通的资费标准最高,主要针对高端用户,如经常出差的商务人士;神州行适合低端预付费用户;动感地带适合年轻群体,在短信包月方面有很大优势,同时还提供多种迎合年轻人喜好的定制服务。②客户流失分析。客户流失分析是一种预测流失客户的重要技术,它通过预测可能流失的客户,帮助公司针对这些客户制定一些挽留策略,如降价或提供特殊服务以吸引客户留下。决策树是最常用的一种分类预测方法,建立实用模型预测现有哪些客户具有流失倾向。③产品交叉和提升销售。产品交叉和提升销售是电信企业推广新产品和服务的有效途径,主要采用数据挖掘中的频繁模式挖掘方法。交叉销售是根据顾客早先的购买信息,发现顾客的多种潜在需求,并推荐销售多种相关的产品或服务。提升销售是指销售人员通过对客户需求的深度挖掘和对客户工作环境的深度理解,向客户推荐价值更高的产品,从而更好地满足客户的需求,以求达到双赢的目的。2.数据挖掘在电子商务中的应用

电子商务,是指在互联网上进行的商务活动,不仅包括通过 Internet 买卖产品和提供服务,还包括企业内部和企业间的商务活动,把买家、卖家、厂家和合作伙伴在互联网上利用 Internet 技术和现有[20,21]的系统结合起来开展的业务。国内有名的电子商务平台有淘宝、京东、苏宁易购等。电子商务平台管理者主要关注的信息是用户对商品的关注点,用户购物的偏好,以及用户的购买能力等。对电子商务而言,首要任务是挖掘出潜在客户。服务器日志完整记录用户的历史访问痕迹,通过数据挖掘技术,电子商务平台的管理者能获取用户的偏好和潜在的需求,从而向用户推荐其有兴趣的、可能购买的商品,并推出相应的优惠政策和促销手段,增加用户的购买率。其次,对具有相似浏览行为的客户进行分组,提取组中客户的共同特征,从而实现客户的聚类,通过将同一类用户中某些用户的历史浏览、购买数据推荐给其他用户,帮助电子商务的管理者更好地了解自己的客户,预测他们的购物需求。例如,在淘宝的购物车中,有根据客户的最近浏览推荐类似产品的功能。最后,针对不同的客户在网页页面上提供个性化的服务,对网站页面进行优化并完善网站页面设计,将用户可能感兴趣的内容放在显眼的位置,吸引客户的目光,延长他们在网站上的驻留时间以及提高再次访问的概率。此外,由于电子商务平台的数据较为集中,数据量足够大,数据种类较多,因此未来电商数据应用将会有更多的想象空间,包括预测流行趋势、消费趋势、地域消费特点、客户消费习惯、各种消费行为的相关度、消费热点、影响消费的重要因素等。依托数据分析,电商的消费报告将有利于品牌公司的产品设计,生产企业的库存管理和计划生产,物流企业的资源配置,生产资料提供方产能安排等,能实现社会精细化大生产,有利于精细化社会的出现。3.数据挖掘在信息安全中的应用

网络带给人们便利的同时,网络安全问题越来越突出。数据挖掘技术的兴起对入侵检测、网络安全审计、恶意代码/邮件检测等领域[22,23]的研究工作提供了强有力的支持。①入侵检测。入侵检测实际上是一个分类问题,也就是将一个事件归为正常或者异常的问题。传统的入侵检测采用特征检测的方法,由安全专家预先定义出一系列特征模式来识别入侵。这种方法的缺陷是不能自适应地识别出新型攻击。基于数据挖掘的入侵检测利用数据挖掘中的分类、关联分析、序列模式挖掘等方法,对安全事件数据进行智能化的分析处理,通过提取数据本身存在的规律性,帮助系统生产入侵检测规则及建立异常检测模型,能最大限度地降低在处理安全审计数据时对先验知识的要求,及时发现攻击,并能使系统检测出之前从未出现过的攻击方法。②安全审计。安全审计就是对有关操作系统、系统服务和应用、用户活动以及网络行为所产生的一系列安全事件进行记录和分析的过程。安全审计系统中通过综合运用数据挖掘技术中的关联、序列、分类、聚类等技术,可以实时审计分析局域网内的 HF 防火墙、IDS 入侵检测系统、系统保护系统等安全产品产生的日志,能够实时或事后审计网络安全状态,为网络安全管理人员提供一种全面审计和检查当前系统运行状态的有效手段,管理人员从中发现问题,从而采取一定的补救和惩罚措施。③恶意代码和恶意邮件检测。在恶意代码研究中,最经典的是“特征码”检测技术,但是特征码检测技术的弱点是只能检测已知的恶意代码,对于新出现的恶意代码无能为力。利用数据挖掘技术,可以有效提高恶意代码检测的质量和效率,首先搜集大量的恶意代码,形成恶意代码库,在大量的恶意代码中加入一些正常代码,将代码分成训练集和测试集。然后,利用各种算法对训练样本进行训练,使其能正确识别出恶意代码和正常代码。最后,用测试集对其训练效果进行评估。经此处理后的恶意代码检测能取得较为理想的效果。4.数据挖掘在银行业中的应用

由于银行业中的数据相对比较完整,质量较高,因此数据挖掘在银行业中的应用相对比较成熟,也取得较好的社会效益和经济效益[24]。运用数据挖掘技术,分析存款变化情况,预测存款增减的趋势,采取相应的组织存款战略,调整产业结构,加速资金周转,降低成本费用,提高信贷工作管理水平。①优化客户服务。分析现有客户和潜在客户的相关需求、消费模式、发展机会、运行风险和成本,及时准确地制定应用措施,并细分客户,针对不同层次客户制订个性化的服务策略及产品优惠组合,不断维护和拓展客户群。同时,优化银行内部的资源配置,提高银行的运作效率,发现和把握更多的创收机遇,从而获得更大的经济效益。②信贷风险评估。为避免和减少信用风险,银行在贷款决策前,应该分析客户的历史信贷记录,评价客户的还款能力和信誉度。数据挖掘技术能科学地强化对信贷客户的信用评估、风险度测定、贷款方式的选择和信贷风险权重的管理,有效地防范和控制贷款风险。同时对不良贷款严密监控,加大信贷资金分析和分类的频率,提高信贷决策水平和市场应变能力。③欺诈检测。采用孤立点分析和聚类分析,用于侦察异常的信用卡使用情况,确定异常的客户消费行为。根据历史统计数据,评定信贷分析客户的特征和背景,预防有可能造成风险损失的客户。通过建立信用欺诈模型,帮助银行发现具有潜在欺诈性的事件,开展欺诈侦查和其他金融犯罪的行为分析,预防和控制资金非法流失。习题

1.什么是数据挖掘?

2.数据挖掘、统计学和机器学习三者之间的关系是什么?

3.什么是物联网、云计算?并说明它们和大数据的关系。

4.查阅资料,说明在大数据背景下,数据挖掘面临哪些挑战,如何解决?

5.什么是数据仓库?数据仓库与数据库有何不同?

6.数据挖掘有哪些常用的工具?参考文献

[1] 刘鹏,张燕,张重生,等. 大数据[M]. 北京:电子工业出版社,2017.

[2] 数据挖掘与机器学习,http://www.cnblogs.com/haciont/p/5552306.html.

[3] 邓仲华,刘伟伟,陆颖隽. 基于云计算的大数据挖掘内涵及解决方案研究[J]. 情报理论与实践,2015,38(7):103-108.

[4] 李涛,曾春秋,周武柏,等. 大数据时代的数据挖掘——从应用的角度看大数据挖掘[J]. 大数据,2015,1 (4):57-80.

[5] 西安美林电子有限责任公司. 大话数据挖掘[M]. 北京:清华大学出版社,2013.

[6] 卢辉. 数据挖掘与数据化运营实战[M]. 北京:机械工业出版社,2013.

[7] 王立伟. 数据挖掘研究现状综述[J]. 图书与情报,2008(5):41-46.

[8] 周苏,王文. 大数据导论[M]. 北京:清华大学出版社,2016.

[9] 物联网白皮书(2011)[R]. 工业和信息化电信研究院,2011.

[10] 王鹏,李俊杰,谢志明,等. 云计算和大数据技术:概念应用与实战[M]. 北京:人民邮电出版社,2016.

[11] Jiawei Han,Micheline Kamber,Jian Pei. 数据挖掘概念与技术[M]. 范明,孟小峰,译. 3版. 北京:机械工业出版社,2016.

[12] 深圳国泰安教育技术股份有限公司大数据事业部群,中科院深圳先进技术研究院.大数据导论:关键技术与行业应用最佳实践[M]. 北京:清华大学出版社,2015.

[13] http://www. smartcitychina. cn/QianYanJiShu/2014-11/3701. html. 中国大数据行业面临的五大挑战以及应对策略.

[14] 王惠中,彭安群. 数据挖掘研究现状及发展趋势[J]. 工矿自动化,2011(2):29-32 .

[15] 黄文,王正林. 数据挖掘:R语言实战[M]. 北京:电子工业出版社,2014.

[16] https://wenku. baidu. com/view/4214b9e2dd88d0d232d46a73. html. 数据挖掘主要工具软件简介.

[17] 张良均,杨海宏. Python与数据挖掘[M]. 北京:机械工业出版社,2016.

[18] 数据挖掘软件R与WEKA. http://3y. uu456. com/bp_7fu7a0iqsb47hq710eh5_1. html.

[19] 王腾蛟,林子雨. 数据挖掘在电信领域客户行为分析中的应用[J]. 电信技术, 2008(l):22-25.

[20] 陆垂伟. 电子商务中数据挖掘技术的研究与应用[J]. 商场现代化,2006(4).

[21] 于悦. 数据挖掘在电子商务的应用[J]. 经济研究导刊,2016(29):153-154.

[22] 柴文光,周宁. 网络信息安全防范与 Web 数据挖掘技术的整合研究[J]. 情报理论与实践,2009(3):97-101.

[23] 郑卓远,周娅. 数据挖掘对信息安全的影响[J]. 现代计算机,2008(3):36-39.

[24] 黄解军,万幼川,潘和平. 银行客户关系管理与数据挖掘的应用[J]. 计算机工程与设计,2003,24(7):66-69.

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载