试论一种基于粗糙集的海量数据挖掘算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 100

ELECTRONICS WORLD ・探索与观察
试论一种基于粗糙集的海量数据挖掘算法
中国计量大学信息工程学院 蔡丛豫
引言:就传统的数据挖掘技术来说,其在数据量级方面存在着一定的局限性,影响最终的效果,所以将粗糙集理论应用其中。

对此,本文以算法的优化为切入点,对一种基于粗糙集的海量数据挖掘算法进行分析。

结合本文的分析,其目的就是优化海量数据挖掘算法,并以全新的并行算法等为基础,提高海量数据挖掘的效率,以期为相关人员提供参考。

1.基于粗糙集对Rough Set知识约简算法的改进
1.1 离散化算法
在Rough Set 知识获取方法中,数据离散化是其关键的构成内容之一,本文就采用属性重要性的方式,将CDL 引入到原算法之中,保证这种算法能够实现对海量数据的挖掘。

具体来说,这种算法的具体步骤为:
(1)对每一个连续的条件属性,进行循环遍历,同时能够生成条件信息熵,即ICDL ({a i })的信息熵。

(2)结合条件信息,对信息熵以降序的方式进行排序,即将所有连续的属性均进行排列。

(3)对于完成排序的DT ,并每个条件的a i 进行循环遍历,从而能够形成ICDL (C\{a i })。

在这一条件下,可以将S zone 设置为null ,而S zone 实际上是a i 值域的子集。

(4)对(S a ,S b )区间的额每一个断点,进行循环遍历,而S a 、S b 是a i 的连续属性值,并设S zone 的值为S zone 与S a 的和。

(5)对DT 中所有满足条件SV j (a i )=S h 的样本,进行循环遍历,即SV j ,而其中的S h=属于S zone 。

(6)对DT 中所有满足条件SV j (a i )=S b 的样本,进行循环遍历,即SV k ,如果样本SV k 、SV j 属于ICDL ({a i })的同一分类中,并且使用@的符号进行连接,在需要将(S a ,S b )的断点选择出来,并对S zone 进行重置(空)。

1.2 值约简算法
基于粗糙集理论,能够对值约简算法进行改进,以此来实现对海量的挖掘,保证数据分析结果的稳定性。

具体来说,值约简算法的具体步骤如下:
(1)输入一个完备的信息系统DT ,最终输出的结果为规则集RT 。

假设Index 为样本标号,DA 表示决策属性,C 则为条件属性的集合,然后进行以下的计算步骤。

(2)对RT 进行初始化,使其转化为DT 。

(3)对所有的条件属性a i 进行循环遍历,并将SSCDL (a i )中的所有样本,均以“?”的符号标记在a i 之上。

(4)对MSCDL (a i )中的所有样本a i ,均以“*”进行属性值的标记。

另外,在MSCDL (a i )中剩余的样本,其a i 的属性值并不需要进行改变。

(5)在后续的计算步骤,只需要按照传统的值约简算法进行即可。

2.基于粗糙集的两步离散化算法并行化
2.1 离散化算法
实际上,本文所提及的离散化算法,其是以动态聚类为基础的。

对于这种算法的具体步骤,本文将做出如下的分析:
(1)输入决策表,即S=<U ,同时R=C ∪D ,还包括V 、F >。

输出的结果为:对S 进行筛选而形成具体的断点集,即CUT first ,以此来对S 中的每一个属性k 进行遍历,然后进行如下的计算。

(2)对k 断点的重要性进行计算、分析,并按照由小到大的顺序进行排序。

然后,在数组Important k []中对计算结果进行保存,数组的索引m 表示断点最为重要的位置。

具体来说,Important k [m]=max{Important k [i],i ∈(0,|Important k |)}
,并设l 等于0,n 等于|h-l+1|,而h 等于m 。

(3)采用归一化的方式对数据进行处理,并对Important k []进
行循环遍历,最终得出:Important k [i]=Important k [i]/Important k [m]。

(4)对阈值e 进行计算:
,其中h≥i≥l


x i ∈Important k 。

(5)对聚类的个别数进行初始化,并对变量v=e+1进行循环控制。

(6)如果v 的数值大于e ,则应该进行以下的循环:1)建立中心表T ,定在Important k 中对l~h 的范围进行随机选择K 个中心;2)对e 1=0的循环变量进行设定;3)如果e 1不等于v 时,其所执行的循环为:e 1等于v ,应对Im portant k 中数值距离、数值类别进行统计,然后将其与距离最小的类别进行同类处理,并对聚类中心的数值进行调整,明确T 中各类标准差的数值,并使v 等于[
]/k 。

(7)n=|h-l+1|、l=m+l 、h=|Important k |,然后重复上述的步骤(4)至步骤(6)。

(8)在每一个聚类类别中,选择最重要的断点,添加至CUT-first 之中。

基于这样的方式,就能够基于粗糙集理论实现对离散化算法的优化,以便于对海量数据进行挖掘与计算。

2.2 并行离散化算法
依据粗糙集理论,可以在动态聚类的基础上,实现两步并行理算化算法,其具体的计算步骤为:
(1)输入S=<U,同时R=C∪D,还包括V、F>。

输出的结果为:决策表S中的断点集,即CUT last ,然后进行如下的计算。

(2)在没有进行离散化的基础上,对决策表中区域的POSc (D)进行详细的计算[2]。

(3)在散播属性的阶段,可以在主进程中设置C=
,并保
证其能够满足条件S i ,S j (i,j∈[1,k]∧i≠j)。

其中,C为条件属性的全集,并将S 1分配给P 1……。

(4)在进行并行处理的过程中,假设进程为P i ,则可以通过两步离散化算法进行处理,实现对断点的聚类,并将其发送至CUT first 中。

(5)在接收到聚类结果以后,在而应该设CUT first =

并同样发送至CUT first 中。

(6)在并行离散化算法的过程中,实际上需要对断点补充进行修正,这一阶段的具体方式,与两步离散化算法相同。

(7)在断点散播阶段之中,其中的断点集可以由各个进程L 进行表示,将以等价类的方式对集合进行实例划分,即CUT last 为空集,而L则等于{U}。

在计算的过程中,可以设置CUT last =
使其
满足条件CUT i ,以及CUT j (i,j∈[i,k]i≠j),另外还包括条件||CUT i |-|CUT j ||≤1CUT
i CUT j =∅。

(8)在对数据进行并行处理的阶段,可以根据断点的重要性,进行选择与发送。

(9)在断点的归约阶段之中,其主进程应该接受所有的结果[3]。

(10)对各个进程的CUT last 进行更新。

(11)依据X∈L的条件,对相关的数据进行处理,最终将其中的X取掉。

(12)如果L中的实例并没有形成相同的决策,在需要从步骤(3)进行重复,反之则可以结束算法。

结语:综上所述,为了能够实现对海量数据的挖掘,就应该打破传统算法的限制。

在本文的分析中,对于算法的改进,其创新点在于以粗糙集为基础,结合传统算法实现了对海量数据挖掘算法的优化,而本文的研究能够在一定程度上为丰富文献类的类型做出贡献,基于这一条件,提高了数据算法的简便性,并实现了对数据深入挖掘的目标,发挥了基于粗糙集的海量数据挖掘算法的价值。

通过这样的优化方式,在根本上强化了数据挖掘算法的准确性,在未来的发展中,很可能会应用在各个行业的大数据分析中,为其制定决策、战略提供有价值的数据依据。

另外,所以,结合本文的分析发现,文中所论述的一种基于粗糙集的海量数据挖掘算法,其具有较强的可行性。

相关文档
最新文档