基于数据库技术的分类算法
2008-01-21 22:34
260 查看
导读:
虽然数据挖掘的创始人主要是数据库领域的研究人员,然而提出的大多数算法则没有利用数据库的相关技术。在分类算法中,致力于解决此问题的算法有MIND(mining in database)和GAC-RDB(grouping and counting-relational database)。
(1) MIND算法
MIND算法是采用数据库中用户定义的函数(user-defined function,UDF)实现发现分类规则的算法。MIND采用典型的决策树构造方法构建分类器。具体步骤与SLIQ类似。其主要区别在于它采用数据库提供的UDF方法和SQL语句实现树的构造。简而言之,就是在树的每一层,为每一个属性建立一个维表,存放各属性的每个取值属于各个类别的个数以及所属的结点编号。根据这些信息可以为当前结点计算每种分裂标准的值,选出最优的分裂标准,然后据此对结点进行分裂,修改维表中结点编号列的值。在上述过程中,对维表的创建和修改需要进行多次,若用SQL实现,耗时很多,因此用UDF实现。而分类标准的寻找过程则通过创建若干表和视图,利用连接查询实现。
该算法的优点是通过采用UDF实现决策树的构造过程使得分类算法易于与数据库系统集成。其缺点是算法用UDF完成主要的计算任务,而UDF一般是由用户利用高级语言实现的,无法使用数据库系统提供的查询处理机制,无法利用查询优化方法,且UDF的编写和维护相当复杂。此外,MIND中用SQL语句实现的那部分功能本身就是比较简单的操作,而采用SQL实现的方法却显得相当复杂。
(2) GAC-RDB算法
GAC-RDB算法是一种利用SQL语句实现的分类算法。该算法采用一种基于分组计数的方法统计训练数据集中各个属性取值组合的类别分布信息,通过最小置信度和最小支持度两个阈值找出有意义的分类规则。在该算法中,首先利用SQL语句计算每个属性进行类别判定的信息量,从而选择一个最优的分裂属性,并且按照信息量的大小对属性进行排序,随后重复地进行属性的选择、候选分类表的生成、剪裁以及分类误差的计算,直到满足结束条件为止,比如,直到小于误差阈值和误差没有改变为止。
该算法的优点是具有与现有的其他分类器相同的分类准确度,执行速度有较大提高,而且具有良好的伸缩性,应用程序易于与数据库系统集成。其缺点是参数的取值需用户完成等。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=628841
本文转自
http://cache.baidu.com/c?word=%B7%D6%C0%E0%2C%CB%E3%B7%A8&url=http%3A//hi%2Ebaidu%2Ecom/iojessie/blog/item/eb8968389b4a04f0b211c786%2Ehtml&p=882a9756ca8412a058ead12c514a&user=baidu
虽然数据挖掘的创始人主要是数据库领域的研究人员,然而提出的大多数算法则没有利用数据库的相关技术。在分类算法中,致力于解决此问题的算法有MIND(mining in database)和GAC-RDB(grouping and counting-relational database)。
(1) MIND算法
MIND算法是采用数据库中用户定义的函数(user-defined function,UDF)实现发现分类规则的算法。MIND采用典型的决策树构造方法构建分类器。具体步骤与SLIQ类似。其主要区别在于它采用数据库提供的UDF方法和SQL语句实现树的构造。简而言之,就是在树的每一层,为每一个属性建立一个维表,存放各属性的每个取值属于各个类别的个数以及所属的结点编号。根据这些信息可以为当前结点计算每种分裂标准的值,选出最优的分裂标准,然后据此对结点进行分裂,修改维表中结点编号列的值。在上述过程中,对维表的创建和修改需要进行多次,若用SQL实现,耗时很多,因此用UDF实现。而分类标准的寻找过程则通过创建若干表和视图,利用连接查询实现。
该算法的优点是通过采用UDF实现决策树的构造过程使得分类算法易于与数据库系统集成。其缺点是算法用UDF完成主要的计算任务,而UDF一般是由用户利用高级语言实现的,无法使用数据库系统提供的查询处理机制,无法利用查询优化方法,且UDF的编写和维护相当复杂。此外,MIND中用SQL语句实现的那部分功能本身就是比较简单的操作,而采用SQL实现的方法却显得相当复杂。
(2) GAC-RDB算法
GAC-RDB算法是一种利用SQL语句实现的分类算法。该算法采用一种基于分组计数的方法统计训练数据集中各个属性取值组合的类别分布信息,通过最小置信度和最小支持度两个阈值找出有意义的分类规则。在该算法中,首先利用SQL语句计算每个属性进行类别判定的信息量,从而选择一个最优的分裂属性,并且按照信息量的大小对属性进行排序,随后重复地进行属性的选择、候选分类表的生成、剪裁以及分类误差的计算,直到满足结束条件为止,比如,直到小于误差阈值和误差没有改变为止。
该算法的优点是具有与现有的其他分类器相同的分类准确度,执行速度有较大提高,而且具有良好的伸缩性,应用程序易于与数据库系统集成。其缺点是参数的取值需用户完成等。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=628841
本文转自
http://cache.baidu.com/c?word=%B7%D6%C0%E0%2C%CB%E3%B7%A8&url=http%3A//hi%2Ebaidu%2Ecom/iojessie/blog/item/eb8968389b4a04f0b211c786%2Ehtml&p=882a9756ca8412a058ead12c514a&user=baidu
相关文章推荐
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
- MMSEG介绍及基于分类的中文分词算法遐想
- 基于Qt的图像处理技术和算法
- 基于空间数据库的数据挖掘技术
- VC基于ADO技术访问数据库的方法
- 基于朴素贝叶斯分类算法的邮件过滤系统
- 基于SQL的数据库算法研究
- 基于朴素贝叶斯分类算法实现垃圾邮箱分类
- 基于朴素贝叶斯分类器的文本分类算法(下)
- 从疯狂痴迷数据库存储过程到彻底放弃他(信息化系统从基于数据库技术到基于服务理念的转变)
- 基于JDBC的数据库连接池技术研究与应用
- 基于Gabor的汉字粗分类算法
- 基于 pureXML 技术的数据库表结构扩展
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 顺序分析和聚类分析算法)
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)
- 基于JDBC的数据库连接池技术研究与应用
- 基于JDBC的数据库连接池技术研究与应用
- 基于qt和opencv3实现机器学习之:利用最近邻算法(knn)实现手写数字分类
- Sqlserver bcp批量导入、导出数据(2008-05-23 14:48:40| 分类: 数据库技术)
- 基于朴素贝叶斯分类器的文本分类算法(上)