一种快速的属性与属性值合一数据约简算法制造技术

技术编号:20992534 阅读:57 留言:0更新日期:2019-04-29 22:31
本发明专利技术公开了一种快速的属性与属性值合一数据约简算法,涉及数据约简算法技术领域,包括:步骤S1、快速U/P算法:equivalence_classes(U,P),求得U/P的等价类族,其结果以链表形式存储;步骤S2、合一约简算法:调用所述步骤S1的算法求U/C’等价类族,求得决策表的核值表。本发明专利技术提出一种线性时间复杂度的属性与属性值合一数据约简算法,使得属性与属性值合一约简算法时间复杂度降为O(|C|

A Fast Data Reduction Algorithms for Combining Attribute and Attribute Value

The invention discloses a fast data reduction algorithm combining attributes and attributes, which involves the technical field of data reduction algorithm, including: Firstly, fast U/P algorithm: equivalence_classes (U, P), obtaining the equivalence class family of U/P, and storing the results in the form of a chain table; (2) one reduction algorithm: invoking the algorithm of B to find the equivalence class family of U/C'to obtain the core of the decision table. Value table. The present invention proposes a data reduction algorithm combining attribute and attribute values with linear time complexity, which reduces the time complexity of attribute and attribute value reduction algorithm to O (| C).|

【技术实现步骤摘要】
一种快速的属性与属性值合一数据约简算法
本专利技术涉及数据约简算法
,特别涉及一种快速的属性与属性值合一数据约简算法。
技术介绍
Rough集理论是由20世纪80年代波兰人Z.Pawlak提出的一种新的数学工具,它通过严格的数学公式来处理不精确性、不确定的问题,具有演绎、归纳和常识推理等能力。因此,Rough集理论很快就在机器学习、知识获取、决策分析、数据库知识发现、专家系统和模式识别等方面得到了广泛的应用。当今Rough集理论已经从粒及其粒计算角度发展到多粒度,三支决策等研究领域,在人工智能、大数据与知识表示与推理等研究领域得到广泛的应用。Rough集理论数据约简分为两部分:属性约简与属性值约简,属性约简是为了删除冗余的属性,这是个NP难问题;属性值约简是为了消除冗余的属性值,其约简过程更是复杂,需要对每一条决策规则中每个属性进行判断。当今大多数研究者主要是对决策表进行属性约简,主要是为了提高约简效率,降低其复杂度。刘少辉等人的“Rough集高效算法的研究”提出了一种基于正区域的属性约简算法,并设计了一个启发函数,通过快速排序的方法将属性约简算法的时间复杂度降为O(|C|2|U|log|U|);徐章艳等人的“一个复杂度为max(O(|C||U|),O(|C|2|U/C|))的快速属性约简算法”设计了一个量度属性重要性的计算公式,并以此作为属性约简的启发函数,提出了一个时间复杂度为max(O(|C||U|),O(|C|2|U/C|);胡峰等人的“二维表快速排序的复杂度分析”对二维表快速排序的复杂度进行了详细分析与探讨,利用快速排序方法进行细分;邓少波等人的“属性与属性值合一的数据约简算法”提出了一种属性与属性值合一的约简方法,但是现有算法的时间复杂度均不是很好,存在时间复杂度高,约简效率低,约简时间长等问题。
技术实现思路
本专利技术实施例提供了一种快速的属性与属性值合一数据约简算法,用以解决现有技术中存在的问题。一种快速的属性与属性值合一数据约简算法,包括:步骤S1、采用快速U/P算法:equivalence_classes(U,P),求得U/P的等价类族,其结果以链表形式存储;输入:决策表S=(U,C,D,V,f),U={u1,u2,…,un},n=|U|,P={c1,c2,…,cm},m=|P|,其中,n为个体数目,m为P属性集合元素的个数,U是个体集合,C是非空条件属性集合,D是非空决策属性的集合,A是决策表的属性,且C∪D=A;V=∪Va,Va是属性a的值域;f:U×A→V,f是一个信息函数,它表示任意个体的每一个属性都有对应的属性值;输出:U/P的等价类族,其结果以链表形式存储;注释:(1)、本专利技术中的每个链表均有头指针,尾指针,且尾指针的数据域存储了数据0,每个链表的初始状态均为空。(2)、同一等价类中的个体元素存储在彼此相邻的节点的数据域中,而等价类之间是以数据域为0的节点分隔开。(3)、对于U/{ci}有C_max[i]-C_min[i]+1个等价类,也就需要有C_max[i]-C_min[i]+1个链表来存储这些等价类。(4)、对于U’,同一等价类中的个体在链表U’中节点位置是彼此相邻的。数据域为0节点则用于分隔不同的等价类。本专利技术求U/P,是在求U/{c}的基础上进行了|P|-1次细分,细分时,根据上一次细分的结果,对每个等价类以新添加的一个属性的属性值作为依据进行细分。步骤S2、合一约简算法:调用所述步骤S1的算法求U/C’等价类族,求得决策表的核值表;输入:决策表S=(U,C,D,V,f),z=|C|,r=|D|,z为条件属性个数,r为决策属性个数;输出:核值表。注释:由步骤S21到步骤S24可以得到这样的结果:如果某属性没有核值,那么该属性可以被约去;否则,该属性不可以被约去,并得到该属性所对应的核值。此算法约简过程中,属性约简与属性值约简是同时进行的。较佳地,所述步骤S1中的具体步骤包括:步骤S11、根据输入数据,求每一个属性ci的最大属性值与最小属性值,i=1,2,…,m,采用数组C_max[i]、C_min[i]分别存储ci属性的最大属性值与最小属性值;步骤S12、根据步骤S11得到的ci属性的最大属性值与最小属性值,令c1∈P,且令C’={c1},求属性c1的等价类族U/C’,从而得到新的链表U’;步骤S13、根据步骤S12得到的链表U’,令P’={c2,c3,…,cm},C’=C’∪{ck},求U/C’等价类族,从而得到最终链表U’;其中k=2,…,m,ui表示U’链表中第i个节点的数据域,i=1,2,…,|U|;链表middle用于保存对当前的等价类细分后得到的等价类族,链表U_middle用于保存对每个等价类细分后得到的所有等价类族;步骤S14、根据步骤S13得到的最终链表U’,设链表U’中当前节点的数据域设为:u’,则有如果u’!=0,那么个体u属于某一等价类中;否则个体u’属于下一个等价类,类似可以判断下一个节点的数据域。较佳地,所述步骤S12的具体步骤包括:步骤S121、对于所有个体uj∈U,根据个体uj的属性值来决定该个体属于哪个等价类;即是根据f(uj,c1)的值来确定个体uj属于哪一个等价类,而一个等价类对应一个链表,同一等价类中的个体存储在同一链表中,其中j=1,2,…,n;步骤S122、对(C_max[1]-C_min[1]+1)个链表进行首尾连接操作,即是把上一个链表的尾指针指向下一个链表的头指针,这样得到新的链表U’。较佳地,所述步骤S13的具体步骤包括:步骤131、设当前处理的属性为ck,对U’链表中的节点进行遍历,并设此链表中当前节点的数据域为:ui;如果U’中当前节点所对应的当前等价类还没有搜索完毕,则根据个体ui的属性值来决定该个体属于哪个等价类,也就是根据f(ui,ck)来决定个体ui位于(c_max[k]-c_min[k]+1)个链表中哪个链表之中;步骤132、如果U’中当前等价类的元素所对应的节点已经判断结束,那么在(C_max[k]-C_min[k]+1)个链表中,对非空链表进行首尾连接操作,即是把上一个非空链表的尾指针指向下一个非空链表的头指针,得到新的链表middle;步骤133、令U_middle的头指针指向middle链表的头指针,U_middle尾指针指向middle链表的头指针,得到U_middle链表;同时令middle链表为空,令(c_max[k]-c_min[k]+1)个链表中非空链表为空,并继续判断U’中的下一个等价类中的所有元素,重复执行步骤131到步骤132,直到U’中的每个节点都判断完毕并转入步骤134;步骤134、令链表U’的头指针重新指向U_middle的头指针,链表U’的尾指针重新指向U_middle的尾指针,令U_middle链表为空,继续判断下一个属性ck,重复执行步骤131到步骤133,即对于链表U’,以下一个属性的属性值对之进行细分,直到P’中的每个属性都被判断过。较佳地,所述步骤S2中的具体步骤包括:步骤S21、针对输入数据,每去掉一个属性c,c∈C,令C’=C-{c},C’={c’1,c’2,…,c’z-1},调用所述步骤S1的算法求得U/C’等价类族,并保存结果到链表U_本文档来自技高网
...

【技术保护点】
1.一种快速的属性与属性值合一数据约简算法,其特征在于,包括:步骤S1、采用快速U/P算法:equivalence_classes(U,P),求得U/P的等价类族,其结果以链表形式存储;输入:决策表S=(U,C,D,V,f),

【技术特征摘要】
1.一种快速的属性与属性值合一数据约简算法,其特征在于,包括:步骤S1、采用快速U/P算法:equivalence_classes(U,P),求得U/P的等价类族,其结果以链表形式存储;输入:决策表S=(U,C,D,V,f),U={u1,u2,…,un},n=|U|,P={c1,c2,…,cm},m=|P|,其中,n为个体数目,m为P属性集合元素的个数,U是个体集合,C是非空条件属性集合,D是非空决策属性的集合,A是决策表的属性,且C∪D=A;V=∪Va,Va是属性a的值域;f:U×A→V,f是一个信息函数,它表示任意个体的每一个属性都有对应的属性值;输出:U/P的等价类族,其结果以链表形式存储;步骤S2、合一约简算法:reduce(U,C,D),调用所述步骤S1的算法求U/C’等价类族,求得决策表的核值表;输入:决策表S=(U,C,D,V,f),z=|C|,r=|D|,z为条件属性个数,r为决策属性个数;输出:核值表。2.如权利要求1所述的算法,其特征在于,所述步骤S1中的具体步骤包括:步骤S11、根据输入数据,求每一个属性ci的最大属性值与最小属性值,i=1,2,…,m,采用数组C_max[i]、C_min[i]分别存储ci属性的最大属性值与最小属性值;步骤S12、根据步骤S11得到的ci属性的最大属性值与最小属性值,令c1∈P,且令C’={c1},求属性c1的等价类族U/C’,从而得到新的链表U’;步骤S13、根据步骤S12得到的链表U’,令P’={c2,c3,…,cm},C’=C’∪{ck},求U/C’等价类族,从而得到最终链表U’;其中k=2,…,m,ui表示U’链表中第i个节点的数据域,i=1,2,…,|U|;链表middle用于保存对当前的等价类细分后得到的等价类族,链表U_middle用于保存对每个等价类细分后得到的所有等价类族;步骤S14、根据步骤S13得到的最终链表U’,设链表U’中当前节点的数据域设为:u’,则有如果u’!=0,那么个体u属于某一等价类中;否则个体u’属于下一个等价类,类似可以判断下一个节点的数据域。3.如权利要求2所述的算法,其特征在于,所述步骤S12的具体步骤包括:步骤S121、对于所有个体uj∈U,根据个体uj的属性值来决定该个体属于哪个等价类;即是根据f(uj,c1)的值来确定个体uj属于哪一个等价类,而一个等价类对应一个链表,同一等价类中的个体存储在同一链表中,其中j=1,2,…,n;步骤S122、对(C_max[1]-C_min[1]+1)个链表进行首尾连接操作,即是把上一个链表的尾指针指向下一个链表的头指针,这样得到新的链表U’。4.如权利要求2所述的算法,其特征在于,所述步骤S13的具体步骤包括:...

【专利技术属性】
技术研发人员:邓少波关素洁黎敏王磊付雪峰
申请(专利权)人:南昌工程学院
类型:发明
国别省市:江西,36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1