赞
踩
数据挖掘主要由以下步骤组成:
1.数据预处理
数据预处理阶段主要为数据挖掘准备好数据。一般来讲主要包括数据清理和数据集成。对于大量的数据,难免存在噪声或不一致的数据。对于存在这些问题的数据源,我们必须进行数据预处理。数据挖掘面对的挖掘对象的种类越来越多(半结构数据、web数据、来自云的数据等各种数据形式层出不穷)。
2.数据挖掘
一旦对数据的预处理工作完成,数据挖掘工作就开始了。这是整个数据挖掘过程的基本步骤,就是使用智能的方法来提取数据模式的过程。数据挖掘阶段,根据挖掘任务的不同,我们会使用不同的技术和处理方法。常见的数据挖掘任务包括特征化、区分、分类、关联分析、聚类等。
3.模式评估
当数据挖掘一旦完成,就会生成挖掘结果即模式。所生成的模式并不都是我们感兴趣的。实际上,对于给定的用户,在可能产生的模式中,只存在一小部分是他感兴趣的。如何表示我们对于模式的期望和兴趣,现在存在一些模式兴趣度的客观度量,包括规则的支持度、置信度等。在模式评估阶段,我们去发现我们感兴趣的模式。
4.知识表示
对于用户感兴趣的模式,我们可以使用可视化和知识表示技术,以更直观的,更易于理解的方式想用户展现有意义的模式。这是与用户的直接交互,更友好的表示方法可以是用户更好的得到有意义的模式的全部内涵。这是数据文件过程中很重要的步骤,也是人们研究的一个重要方面。
一个典型的数据挖掘系统主要由下面的部分构成:
1.数据源:可以是一个或一组数据库、数据仓库、展开的表、或其它类型的信息库,提供存储的数据。
2.数据源服务器:根据用户的数据挖掘请求,数据源服务器负责提取相关数据。
3.预处理模块:执行数据清理、数据集成等操作,为数据挖掘过程准备结构良好的数据。
4.知识库:这是领域知识,用于指导搜索,或评估结果模式的兴趣度。这种知识可能包括概念分层,用于将属性或属性值组织成不同的抽象层。用户确信方法的知识也可以包含在内。可以使用这种知识,根据非期望性评估模式的兴趣度。
5.数据挖掘引擎:数据挖掘系统基本的部分,由一组功能模块组成,用于特征、关联、分类、聚类分析、演变和偏差分析。
6.模式评估模块:使用兴趣度度量,并于挖掘模块交互,以便将搜索聚焦在有趣的模式上,使用兴趣度阈值过滤发现的模式。
7.图形用户界面:用于在用户和挖掘系统之间通讯,允许用户于系统交互,指定数据文件夹查询或任务,提供信息、帮助搜索聚焦,根据数据挖掘的中间结果进行探索式数据挖掘。该部分还允许用户浏览数据库和数据仓库模式或数据结构,评估挖掘的模式,以不同的形式对模式可视化。
基于Hadoop的数据挖掘系统的设计
基本思想:充分利用Hadoop的集群特征,将数据挖掘系统中需要巨大计算能力的哥哥模块的计算和存储要求扩展到Hadoop集群中的哥哥节点上,利用集群的并行计算和存储能力来进行相关数据挖掘工作。可以采用分层的设计思想。在底层,使用Hadoop来存储、分析和处理巨大的数据量,而在高层通过接口直接透明的调用底层的计算和存储能力。
使用HDFS来存储文件和数据。使用MapReduce将数据文件系统中具有大计算量特征的各个子模块(如ETL模块,数据挖掘模块)的计算任务发布到集群中的哥哥节点以实现并行计算。
采用分层的思想,自停向下每层都透明的调用下层接口,最顶层为交互层,用于用户和系统之间的交互。最底层为分布式计算层,使用Hadoop来实现文件分布式存储和并行计算功能。
交互层:提供系统和用户之间的接口。通过提供具有良好表现形式的图形界面,使得用户可以登录系统定制各种细粒度的业务,查看或者保存各种输出结果。
业务应用层:提供了各种业务逻辑并实现了对各种业务流程的控制和调度。用户提交的业务在这一层被处理、控制和调度。业务应用层通过调用数据挖掘算法层的多个模块来完成交互层提交的业务,并返回结果到交互层。并控制和调度着数据挖掘平台的各个模块的执行。
数据挖掘平台层:为业务应用层提供数据挖掘阶段业务流需要的各个模块,并具有较细的粒度。如数据预处理、模式评估、数据挖掘,结果展示等功能组件。这一层是整个系统的核心,主要的任务在于实现各种任务过程中算法的并行化,并将任务提交到Hadoop分布计算层进行运算,并将结果返回给业务应用层。
分布式计算平台层:使用Hadoop框架来实现集群存储、计算。Hadoop提供了分布式文件系统和冰箱的运行模式,同时实现了对分布式系统的管理。
各层的功能模块:
1.交互层:
用户管理模块:实现用户身份的识别以及相应权限的设置,包括对用户登录或者注销等常用的管理。
业务模块:实现了细粒度的用户业务需求的提交。用户提交的各种业务通过业务模块得到完成。
展示模块:实现了用户对业务结果的查看,分析和保持等功能。用来将系统的返回结果交付给用户。
2.业务应用层:
业务相应模块:相应上层的业务模块,对完成业务所需的子业务进行调用、管理,并通过调用底层模块完成业务。
工作流模块:对业务状态进行监控、管理。可将具体的信息参数返回给本层的业务响应模块。
3.数据挖掘平台:
数据加载模块:将挖掘所需的数据进行注册并放入系统的HDFS文件系统。
结果存储模块:存放挖掘现在产生或者历史产生的各种模式。也可以叫做知识库。
模式评估模块:对产生的模式进行评估。此模块也可以被并行数据挖掘模块调用。
并行ETL模块:对数据进行预处理。输入的数据来自于HDFS文件中,并将处理结果放入HDFS中,为挖掘过程进行数据清理,提取,转换和加载。
并行数据挖掘算法模块:为数据挖掘各种任务提供并行算法。作为数据挖掘引擎,它包含了一个能提供各种基于Hadoop进行并行数据挖掘算法的库,用于完成各种数据挖掘任务。
4.分布式计算层:
Hadoop框架自身提供了HDFS,MapReduce运行模式、运算环境以及自动管理。
将传统的数据挖掘算法在Hadoop平台上实现并行化是构建基于Hadoop平台的数据挖掘系统的主要工作。
决策树算法使用大量的训练集来产生一棵判定树,从而得到分类模型来对未知标号的元祖进行分类。训练集的每一个元组包含几种属性和相应的值。这些值可以是连续的,也可以是分类的。同时,训练集的每一个元组还包含一个类属性,也就是这个元组的类标号。
在生成判定树中,每一个叶节点代表了一个类标号,而每一个非叶节点都包含了一个分裂点。在分裂点上,我们使用一个或几个属性来决定训练集怎样被分裂。当从杀过向下构造判定树到达叶节点时,剩下的训练集要么都属于同一类标号,要么属于同一个类标号的比例已达到我们预先设定的阈值,这个标号也就是叶节点的标号。
对于决策树算法来说,关注的重点在于如何找到分裂点和如何选择一种分裂规则,使得数据集能很好的分裂。常用的三种属性选择度量被用来实现数据集的分裂,分别是信息增益、增益率以及Gini指标。ID3算法使用信息增益来作为属性选择度量。C4.5和CART分别使用增益率和Gini指标。
Gini指数方法:
如果集合T包含N各类别的M条记录,则其Gini指数为:
如果集合T分成T1和T2两部分,分别对应m1和m2条记录,则此分割的Gini指数为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。