- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于SQL用户自定义精度粗糙集属性约简算法
一种基于SQL的用户自定义精度的粗糙集属性约简算法
摘 要:将数据库的关系运算运用于粗糙集的属性约简,引入用户自定义精度,改进基于SQL的属性约简算法。仿真实验结果表明,该方法与经典粗糙集相关方法相比,有更高的执行效率和抗噪性,为粗糙集理论更广泛地应用于海量数据的数据挖掘提供了一种方法。
关键词:粗糙集;SQL语言;属性约简
数据库系统具有存储空间利用率高、存取效率高等优点,如果将粗糙集理论中的决策表以关系数据库二维表的形式表示,通过将粗糙集理论中的相关算法嵌入到数据库管理系统中,实现对属性约简算法的改进。在标准SQL语言中,GROUP BY子句可将数据库中二维表的数据按某一列或多列的取值进行分组,值相等的为一组,该操作可对应粗糙集理论中划分等价类。而聚集函数COUNT(*)可统计每组所包含的记录个数,即为粗糙集理论中等价类所包含的对象数目。基于SQL的属性约简算法已有部分学者进行了研究。冯林和李天瑞[1]提出了用SQL语句求数据库中相对核属性、属性约简和值核的算法。田迪和刘建平[2]提出了基于SQL语言的条件信息熵属性约简算法。刘井莲[3]给出了一种基于SQL的属性约简算法,该算法是从条件属性集做递减,不需要存储中间结果,具有空间复杂度低的优点,同时易于改造成并行算法,能求出所有约简。但该算法缺乏对噪音数据的适应能力,不适应高速公路管理系统中海量数据的数据分析。下面将在讨论这种算法的基础上,提出一种由用户自定义精确度的基于SQL的属性约简算法。
1 理论基础
定义1:一个信息表的知识表达系统可以表示为四元组S=,其中,U是对象的有限集合,也称为论域;R=C∪D为属性的有限集合,C为条件属性的子集,D为决策属性的子集;是属性值的集合,Vr为属性r的值域;f:U×R→V为一个信息函数,U的任一元素取属性r在V中有唯一确定值。
如果U为一个论域,P为U上的一个属性集合,r∈P,且ind(P-r)=ind(P),则称属性r在P中是不必要的;否则,称r在P中是必要的。去掉不必要的属性不会改变属性集合的分类能力;反之,若去掉一个必要的属性,则一定会改变属性集合的分类能力。
定义2:设U为一个论域,P、Q为U上的两个属性集合,且Q为P的子集,若ind(Q)=ind(P)且Q中没有不必要的属性;则称Q是P的一个约简。如果Q是P的约简,则U中通过P可区分的对象,同样可以用Q来区分。通常P的简化不止一个,P的所有简化族记为RED(P)。
2 属性约简算法
算法1:判断ai是否为符合用户自定义精确度的不必要属性算法
输入:信息系统S=(U,A), accurate,ai。其中,accurate为用户输入的精确度,ai为需要判断的属性。
输出:1(表示该属性为不必要属性)或者0(表示该属性为必要属性)
Step 1:统计S中根据A-{ai}分组后,每组包含的记录个数,生成新表temp。方法如下:
SELECT COUNT( DISTINCT ai) AS NUM
into temp
FROM S
GROUP BY A-{ai}
Step 2:统计表temp中数值为1的记录个数占记录总数的比例Confidence。方法如下:
DECLARE @Confidence decimal(3,2),@ConCount int,@TotalCount int
SELECT @TotalCount=COUNT(*)
FROM temp
SELECT @ConCount=COUNT(*)
FROM temp
WHERE NUM=1
SELECT @ConCount
SET @Confidence=cast(@ConCount as decimal(3,2))/@TotalCount
SELECT @Confidence
Step 3:若Confidenceaccurate,输出1,否则,输出0。
由算法1可判断出ai是否为符合用户自定义精确度的不必要属性。如果ai为不必要属性,则继续从A-{ai}中寻找不必要属性,最终得到约简属性集。
算法2 基于SQL的用户自定义精确度的属性约简算法
输入:信息系统S=(U,A), accurate。其中,A=a1,a2,…,an为属性集,accurate为用户输入的精确度。
输出:A所有的属性约简。
Step 1:设初始约简的集合为red=??J,flag=0;
Step 2:如果in,转Step 5;
Step 3:i=i+1,转到Step 2;
Step 4:A=A-{ai},n=n-1,转Step 2;
S
您可能关注的文档
最近下载
- 探析互联网技术在小学英语教学中的应用.docx VIP
- D-Z-T 0382-2021 固体矿产勘查地质填图规范(正式版).docx VIP
- 科技英语的特征.pptx VIP
- 湖南省2026届高三九校联盟第一次联考 化学试卷(含答案详解).pdf
- 银川乐口福食品有限公司产品研发动因及对策研究----以蛋糕为例 经管类毕业论文.docx VIP
- 2023年ISO37001反贿赂管理体系内部审核全套资料.docx VIP
- 中国文化产业和旅游业年度研究报告(2024)精华版.pdf
- unit6被动与主动-英汉对比与翻译分析.ppt VIP
- 大学科技英语课件 第一章 科技英语的特点概述.ppt VIP
- 互联网时代下小学英语混合式学习模式的创新与实践.docx
文档评论(0)