论文部分内容阅读
摘要:本文针对数据挖掘系统的开发中数据挖掘的缺陷分析,试探利用组件技术是否可以建立一个公共框架,把业务相关的分析模块作为可替换的组件装配到系统中来,为数据挖掘系统的研究提供了一个试验模型。
关键词:组件技术;数据挖掘;空间数据库
中图分类号:TP311.13 文献标识码:A文章编号:1007-9599 (2011) 19-0000-02
Data Mining System Model Design Research Based on the Component Technology
Xing Cong
(Guangdong Food and Drug Vocational Technical School,Xingning510000,China)
Abstract:In this paper the development of data mining system defect analysis of data mining,test whether using component technology can build a public framework,the business related analysis module as replaceable component assembly into the system,and for data mining system research offers a test model.
Keywords:Component technology;Data mining;Spatial database
一、引言
在人工智能领域,习惯上又称为数据库中的知识发现(Knowledge Discovery in Database,KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。数据挖掘可以与用户或知识库交互。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。而数据挖掘系统是一个相当复杂的大型系统,开发的工作量很大,而且往往需要针对具体的应用开发具体的数据挖掘系统,这严重阻碍了数据挖掘的广泛应用。能否设计一个通用的数据挖掘系统框架,加速数据挖掘系统的开发是软件开发人员关心的问题,而组件技术的发展为这一问题的解决带来了契机。
在数据挖掘系统的开发中,针对特定任务的数据挖掘算法的开发只是系统开发的一个很小的部分,大部分的工作是在数据的收集、清理、转换和图形用户界面的开发上,而这部分工作对于所有的数据挖掘系统来说都是相同的。基于这种分析,利用组件技术可以建立一个公共框架,把业务相关的分析模块作为可替换的组件装配到系统中来。这样,对于不同的数据挖掘任务,,只需要替换相关的数据挖掘分析组件就可完成,从而大大提高系统开发效率,降低开发成本。
二、总体设计
(一)模型分析
系统总体框架,包括数据提取、数据预处理、挖掘分析和模式评估等四个模块,是一个线性处理过程。
1.确定业务对象。清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步.挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的.
2.数据准备。主要包括数据的选择、数据的预处理、数据的转换、数据挖掘。首先搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据;其次研究数据的质量,为进一步的分析作准备.并确定将要进行的挖掘操作的类型;再次将数据转换成一个分析模型.这个分析模型是针对挖掘算法建立的.建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键;最后对所得到的经过转换的数据进行挖掘.除了完善从选择合适的挖掘算法外,其余一切工作都能自动地完成.
3.数据挖掘分析。数据挖掘分析是系统的核心功能,挖掘任务包括数据分类、关联规则发现、聚类分析、时间序列分析和孤立点检测等。系统主要集中在数据的分类算法上,分类是一个两步的过程:首先要根据训练数据建立分类模型,然后根据模型对新的未知类别的数据预测其类别属性。所有的分析挖掘组件的数据输入采用统一的数据模型,这就是的新的挖掘分析组件可以很容易集成到此框架中来。
4.挖掘模式评估。并非所有的模式都是用户感兴趣的,实际上,用户感兴趣的往往是发现的模式中的很小的一部分。模式评估组件根据用户的模式评估准则对挖掘得到的模式进行评估,提取用户感兴趣的模式。针对不同的数据挖掘任务,模式评估的准则也往往是不同的,所以模式评估组件往往需要根据用户的需求量身定做。
(二)详细设计与实现
1.数据的表示。系统模型的设计涉及一个最基本的问题是实例数据的表示,在同一数据表示模型中,采用属性向量来表示实例。具体涉及以下三个类:(1)属性(Attribute).属性对实例的某一个属性进行具体的描述,包括属性名字、属性类型,如果是枚举类型还要给出枚举值。(2)实例集(Instance Set)。实例集包括实例类型的定义,实例类型定义是实例数据的元数据,包括实例由哪一些属性进行描述,由一个属性向量表示。实例集还包括一个实例的向量,其中每个元素都是类型对象的一个实例。(3)实例(Instance)。实例代表一个实例个体,用一个属性向量来表示,向量的每个元素是实例在对应属性上的取值。实例还包括一个实例集的应用,可以从实例出发找到其类型的定义。
在以上三个类中,实例集对象包括一个属性向量和实例向量,因此既包括了实例数据,又包括了数据信息描述,是一个统一数据模型,也是系统中不同组件间交换数据的标准格式。
2.数据提取技术。数据提取组件可以从不同的数据源提取数据,提取的结果以实例集的形式返回,具有统一的接口:
Interface data distiller
{
Instance Set get Instance Set();
}
针对不同的数据源往往需要不同的数据提取组件,往往提取一组向导来协助用户定义挖掘分析的数据集。只要遵循统一的接口,用户可以为自己特定的数据源格式定义相应的数据源提取组件,而且可以很容易得配置导系统中来。
3.数据预处理组件(过滤器)。系统将各种形式的预处理算法抽象为过滤器,过滤器可以连接起来,上一个过滤器的输出作为下一个过滤器的输入,这样就像一个普通的过滤一样,原始数据经过多级过滤后,得到数据挖掘分析组件所实际使用的数据。接口定义大体如下:
Interface Filter
{
Boolean input(Instance);//输入一个实例数据
Boolean batch Finished();//实例数据输入完毕
Instance Set get output Format();//获得实例数据的格式
Instance output();//获得输出实例
}
4.挖掘分析组件。挖掘分析组件的任务包括分类预测、关联分析、聚类分析、孤立点检测等,这里给出分类预测组建的设计和实现。
分类预测是一个两步的过程:(1)使用训练数据建立分类模型的过程;(2)使用模型对数据进行分类的过程。下面是所有分类器都需要实现的接口定义:
Interface Classifier
{
Classify build Classify(Instance Set);
Double classify Instance(Instance);
}
这里对该接口定义给予说明。第一个方法build classify()用来根据训练数据对模型进行训练,训练的结果是建立一个分类模型。训练数据实例要求具有类别标志,Instance类提供的Set Class Index()用来制定属性向量中哪一个分量是类别标志,作为类别标志的属性必须是枚举类型。第二个方法classify Instance()对输入的实例数据判别其类别属性。为了简化模型和提供统一的界面,返回的类别标志使用Double类型值表示。
5.挖掘模式评估组件。模式评估组件对数据挖掘的结果进行评价,去除不感兴趣的模式。不同的数据挖掘任务,评价的方法也不同,对于数据的分类算法,评价的指标一般是分类的准确率。而对于关联规则算法,评价的标准是兴趣度,置信度等指标。但是总的来说,对于一类数据挖掘任务,评价的方式是一致的,因此,可以设计每一类数据挖掘任务的公共评价组件。这样,用户可在过度拟合(模型拟合了数据中的随机成分)和灵活性(合理地拟合现有数据)选择一种折中方案,相应地去选择一种总的评价函数。
三、结束语
随着科技的不断进步,软件开发人员已经面临着知识爆炸和信息爆炸的新时代,如何从海量的信息中迅速准确地发现有用的信息和知识,将不断推动数据挖掘技术的发展,数据挖掘技术将会更广泛的应用于各个领域。使用组件技术,本系统为数据挖掘系统提供了一个公共的框架,大大方便了数据挖掘系统的开发,为数据挖掘的研究和试验提供了一个试验台。
参考文献:
[1]Kirby McInnis,Component-based Development:The Concepts,Technology and Methodology.http//www.CBD-HQ.com.
[2][英]Hand D数据挖掘原理,张银奎等.北京:机械工业出版社[M].2003
[作者简介]幸聪(1983.11-),本科,双学士,助理讲师,研究方向:计算机网络。
关键词:组件技术;数据挖掘;空间数据库
中图分类号:TP311.13 文献标识码:A文章编号:1007-9599 (2011) 19-0000-02
Data Mining System Model Design Research Based on the Component Technology
Xing Cong
(Guangdong Food and Drug Vocational Technical School,Xingning510000,China)
Abstract:In this paper the development of data mining system defect analysis of data mining,test whether using component technology can build a public framework,the business related analysis module as replaceable component assembly into the system,and for data mining system research offers a test model.
Keywords:Component technology;Data mining;Spatial database
一、引言
在人工智能领域,习惯上又称为数据库中的知识发现(Knowledge Discovery in Database,KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。数据挖掘可以与用户或知识库交互。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(information retrieval)领域的任务。而数据挖掘系统是一个相当复杂的大型系统,开发的工作量很大,而且往往需要针对具体的应用开发具体的数据挖掘系统,这严重阻碍了数据挖掘的广泛应用。能否设计一个通用的数据挖掘系统框架,加速数据挖掘系统的开发是软件开发人员关心的问题,而组件技术的发展为这一问题的解决带来了契机。
在数据挖掘系统的开发中,针对特定任务的数据挖掘算法的开发只是系统开发的一个很小的部分,大部分的工作是在数据的收集、清理、转换和图形用户界面的开发上,而这部分工作对于所有的数据挖掘系统来说都是相同的。基于这种分析,利用组件技术可以建立一个公共框架,把业务相关的分析模块作为可替换的组件装配到系统中来。这样,对于不同的数据挖掘任务,,只需要替换相关的数据挖掘分析组件就可完成,从而大大提高系统开发效率,降低开发成本。
二、总体设计
(一)模型分析
系统总体框架,包括数据提取、数据预处理、挖掘分析和模式评估等四个模块,是一个线性处理过程。
1.确定业务对象。清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步.挖掘的最后结构是不可预测的,但要探索的问题应是有预见的,为了数据挖掘而数据挖掘则带有盲目性,是不会成功的.
2.数据准备。主要包括数据的选择、数据的预处理、数据的转换、数据挖掘。首先搜索所有与业务对象有关的内部和外部数据信息,并从中选择出适用于数据挖掘应用的数据;其次研究数据的质量,为进一步的分析作准备.并确定将要进行的挖掘操作的类型;再次将数据转换成一个分析模型.这个分析模型是针对挖掘算法建立的.建立一个真正适合挖掘算法的分析模型是数据挖掘成功的关键;最后对所得到的经过转换的数据进行挖掘.除了完善从选择合适的挖掘算法外,其余一切工作都能自动地完成.
3.数据挖掘分析。数据挖掘分析是系统的核心功能,挖掘任务包括数据分类、关联规则发现、聚类分析、时间序列分析和孤立点检测等。系统主要集中在数据的分类算法上,分类是一个两步的过程:首先要根据训练数据建立分类模型,然后根据模型对新的未知类别的数据预测其类别属性。所有的分析挖掘组件的数据输入采用统一的数据模型,这就是的新的挖掘分析组件可以很容易集成到此框架中来。
4.挖掘模式评估。并非所有的模式都是用户感兴趣的,实际上,用户感兴趣的往往是发现的模式中的很小的一部分。模式评估组件根据用户的模式评估准则对挖掘得到的模式进行评估,提取用户感兴趣的模式。针对不同的数据挖掘任务,模式评估的准则也往往是不同的,所以模式评估组件往往需要根据用户的需求量身定做。
(二)详细设计与实现
1.数据的表示。系统模型的设计涉及一个最基本的问题是实例数据的表示,在同一数据表示模型中,采用属性向量来表示实例。具体涉及以下三个类:(1)属性(Attribute).属性对实例的某一个属性进行具体的描述,包括属性名字、属性类型,如果是枚举类型还要给出枚举值。(2)实例集(Instance Set)。实例集包括实例类型的定义,实例类型定义是实例数据的元数据,包括实例由哪一些属性进行描述,由一个属性向量表示。实例集还包括一个实例的向量,其中每个元素都是类型对象的一个实例。(3)实例(Instance)。实例代表一个实例个体,用一个属性向量来表示,向量的每个元素是实例在对应属性上的取值。实例还包括一个实例集的应用,可以从实例出发找到其类型的定义。
在以上三个类中,实例集对象包括一个属性向量和实例向量,因此既包括了实例数据,又包括了数据信息描述,是一个统一数据模型,也是系统中不同组件间交换数据的标准格式。
2.数据提取技术。数据提取组件可以从不同的数据源提取数据,提取的结果以实例集的形式返回,具有统一的接口:
Interface data distiller
{
Instance Set get Instance Set();
}
针对不同的数据源往往需要不同的数据提取组件,往往提取一组向导来协助用户定义挖掘分析的数据集。只要遵循统一的接口,用户可以为自己特定的数据源格式定义相应的数据源提取组件,而且可以很容易得配置导系统中来。
3.数据预处理组件(过滤器)。系统将各种形式的预处理算法抽象为过滤器,过滤器可以连接起来,上一个过滤器的输出作为下一个过滤器的输入,这样就像一个普通的过滤一样,原始数据经过多级过滤后,得到数据挖掘分析组件所实际使用的数据。接口定义大体如下:
Interface Filter
{
Boolean input(Instance);//输入一个实例数据
Boolean batch Finished();//实例数据输入完毕
Instance Set get output Format();//获得实例数据的格式
Instance output();//获得输出实例
}
4.挖掘分析组件。挖掘分析组件的任务包括分类预测、关联分析、聚类分析、孤立点检测等,这里给出分类预测组建的设计和实现。
分类预测是一个两步的过程:(1)使用训练数据建立分类模型的过程;(2)使用模型对数据进行分类的过程。下面是所有分类器都需要实现的接口定义:
Interface Classifier
{
Classify build Classify(Instance Set);
Double classify Instance(Instance);
}
这里对该接口定义给予说明。第一个方法build classify()用来根据训练数据对模型进行训练,训练的结果是建立一个分类模型。训练数据实例要求具有类别标志,Instance类提供的Set Class Index()用来制定属性向量中哪一个分量是类别标志,作为类别标志的属性必须是枚举类型。第二个方法classify Instance()对输入的实例数据判别其类别属性。为了简化模型和提供统一的界面,返回的类别标志使用Double类型值表示。
5.挖掘模式评估组件。模式评估组件对数据挖掘的结果进行评价,去除不感兴趣的模式。不同的数据挖掘任务,评价的方法也不同,对于数据的分类算法,评价的指标一般是分类的准确率。而对于关联规则算法,评价的标准是兴趣度,置信度等指标。但是总的来说,对于一类数据挖掘任务,评价的方式是一致的,因此,可以设计每一类数据挖掘任务的公共评价组件。这样,用户可在过度拟合(模型拟合了数据中的随机成分)和灵活性(合理地拟合现有数据)选择一种折中方案,相应地去选择一种总的评价函数。
三、结束语
随着科技的不断进步,软件开发人员已经面临着知识爆炸和信息爆炸的新时代,如何从海量的信息中迅速准确地发现有用的信息和知识,将不断推动数据挖掘技术的发展,数据挖掘技术将会更广泛的应用于各个领域。使用组件技术,本系统为数据挖掘系统提供了一个公共的框架,大大方便了数据挖掘系统的开发,为数据挖掘的研究和试验提供了一个试验台。
参考文献:
[1]Kirby McInnis,Component-based Development:The Concepts,Technology and Methodology.http//www.CBD-HQ.com.
[2][英]Hand D数据挖掘原理,张银奎等.北京:机械工业出版社[M].2003
[作者简介]幸聪(1983.11-),本科,双学士,助理讲师,研究方向:计算机网络。