注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

瘋人院

lunatic asylum

 
 
 

日志

 
 

数据挖掘--KDD的基本过程  

2010-01-18 10:19:51|  分类: 數據挖掘 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

KDD是一个多步骤的处理过程,分为如下几个阶段:

 

1) 问题定义阶段

    了解相关领域的有关情况,熟悉背景知识,弄清需求,确定挖掘的目标等;另一方面通过对各种学习算法的对比进而确定可用的学习算法。 后续的学习算法选择和数据准备都是在此基础上进行的。

 

2) 数据抽取阶段

  必须全面掌握数据的结构特点,任何疏忽都可能导致数据抽取的失败。

 

3) 数据预处理阶段

    检查数据的完整性、数据的一致性。包括:消除噪音、推导计算缺省数值、消除重复记录、完成数据类型转换等。有一种3:7的说法就是指数据抽取和预处理工作一般可能占整个KDD过程的70%左右。

    常见的不完整数据的修补办法有:

      1》使用一个全局值来填充(如unknown,估计的最大值活最小值)

      2》统计该书序ingde所有非空值,并用平均值来填充空缺值

      3》使用同类对象的属性平均值

      4》利用回归或者工具预测最可能的值

    利用数据平滑技术来消除噪音数据:

      1》分箱(Binning)方法检测周围响应的属性值来进行局部数据平滑

      2》利用聚类技术检测孤立点数据,对他们进行修正

      3》利用回归函数探测和修正噪音数据

 

4)数据挖掘阶段

    根据如下两个因素考虑选定挖掘算法进行计算:1》根据数据的特点;2》用户或实际运行系统的要求,可能是描述型的、容易理解的知识来表示挖掘出的规则。

 

5)模式评估阶段

  经过评估,去掉已经存在冗余的或者无关的模式。如果模式不满足用户的要求,则需要回退到谦虚阶段,如需要重新选择数据、采用新的数据变换方法、设定新的参数值、甚至换一种算法等等。 另外还需要将挖掘出来的结果可视化,或者把结果转化成用户容易理解的表示方法。

 

  上面的描述是概念性的,并不意味着所有的系统都必须遵循这样的步骤。应该根据实际应用来确定具体的系统结构和功能模块。

KDD处理模型

1)阶梯处理模型:


 

 

  上图是Usama M.Fayyad等人给出的处理模型。KDD处理过程共分为九个处理阶段,这九个处理阶段分别是数据准备、数据选择、数据预处理、数据缩减、KDD目标确定、挖掘算法确定、数据挖掘、模式解释及知识评价。

 

1  数据准备  了解KDD相关领域的有关情况,熟悉有关的背景知识,并弄清楚用户的要求。

2  数据选择  根据用户的要求从数据库中提取与KDD相关的数据,KDD将主要从这些数据中进行知识提取,在此过程中,会利用一些数据库操作对数据进行处理。

3  数据预处理 主要是对阶段2产生的数据进行再加工,检查数据的完整性及数据的一致性,对其中的噪音数据进行处理,对丢失的数据可以利用统计方法进行填补。

4  数据缩减 对经过预处理的数据,根据知识发现的任务对数据进行再处理,主要通过投影或数据库中的其他操作减少数据量。

5  确定KDD的目标 根据用户的要求,确定KDD是发现何种类型的知识,因为对KDD的不同要求会在具体的知识发现过程中采用不同的知识发现算法。

确定知识发现算法 根据阶段5所确定的任务,选择合适的知识发现算法,这包括选取合适的模型和参数,并使得知识发现算法与整个KDD的评判标准相一致。

数据挖掘(Data Mining) 运用选定的知识发现算法,从数据中提取出用户所需要的知识,这些知识可以用一种特定的方式表示或使用一些常用的表示方式,如产生式规则等等。

模式解释  对发现的模式进行解释,在此过程中,为了取得更为有效的知识,可能会返回前面处理步骤中的某些步以反复提取,从而提取出更有效的知识。

9  知识评价  将发现的知识以用户能了解的方式呈现给用户。这期间也包含对知识的一致性的检查,以确信本次发现的知识不与以前发现的知识相抵触。

 

2)螺旋处理过程模型

  与上面的阶梯处理过程模型与上面有许多共同之处,但主要区别在对整个处理过程的组织和表达方式上,它强调领域专家参与的重要性,并一问题的定义为中心循环评测挖掘的结果。当结果不令人满意时,就需要重新定义问题,开始新的循环。

3)以用户为中心的处理模型

  知识发现应该更着重于对用户进行知识发现的整个过程的支持,而不仅仅限于数据挖掘的一个阶段上。

4)联机KDD模型

  传统的数据挖掘过程表现出如下致命的缺陷:

  1)过分强调自动化,忽视了交互性,不仅导致用户对数据挖掘过程的参与困难,而且领域和背景知识也无法加入。

  2)数据挖掘算法对用户是一个黑盒。

  3)传统的数据挖掘过程只能一次对一个数据集进行挖掘,对于多个相关数据集上模式的比较和趋势分析,目前的数据挖掘过程模型无法实现。

  OLAMOn Line Analystical Mining),每个步骤都可视化的。

5)支持多数据源多知识模式的KDD处理模型

  往往一次学习并不一定得到较好的学习结果,因此KDD是一个目标和数据不断优化的过程。对数据挖掘结果进行评价和优化的过程中,有两个基本的方法:

  1) 保持当前知识模型,对学习参数进行调整,并重新训练和就评价,直到达到满意的结果为止。

  2) 对知识模型进行改进,使用其他的学习模型对同一批数据进行试验。通过不同模型的对比试验,找到最合适的知识表示形式和挖掘方法。

  因此抽取数据的时候,应该是面向挖掘目标进行数据抽取的,这样被抽取出来的数据是中性的,可以经过进一步的数据清洗和转换来适合挖掘算法的要求。 

 

知识发现软件

1)独立的知识发现软件

  开发出一种新型的数据挖掘算法后,就在此基础上形成软件模型。这要求用户必须对具体的数据挖掘算法和技术有相当的了解,还要手工负责大量的数据预处理工作。不是主要的发展方向。

2)横向的知识发现软件

  集成化的知识发现辅助工具集,也就是通用的软件,比如:DBMiner,Quest, IBM Intelligent Miner, Darwin,ReMind.

3)纵向的知识发现软件

  针对特定的应用提供完整的数据挖掘和知识发现解决方案。和具体的商业逻辑相结合。针对不同的应用专门指定挖掘算法软件。

 

数据挖掘语言

  数据挖掘语言经过两个过程,第一个阶段,每个公司自己研发,第二个阶段,一些国际组织牵头进行相关的标准化研究。主要包括数据挖掘组织协会(DMG)提出的预言模型标记语言PMML,微软公司提出的OLE DB for Data Mining规范。


来源http://blog.csdn.net/emili/archive/2009/02/01/3856569.aspx

  评论这张
 
阅读(2521)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017