无线城市社团发现的研究
——在Spark上利用改进关联规则实现社团发现的算法*

2019-09-14 07:13王永贵徐山珊肖成龙
计算机与生活 2019年9期
关键词:项数项集布尔

王永贵,徐山珊,肖成龙

辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105

1 引言

社交网络的发展改变着人们的生活方式,兴趣的共同点会导致社交网络中的个体逐渐发展形成一系列的社团[1]。推荐好友[2]通常转化为社团发现,用户的行为习惯或兴趣爱好越相似,越可能是同一个社团中的成员[3]。无线城市社团发现是通过智能移动终端连接无线网络的方式,对用户的地理位置进行捕捉[4],在MAC 地址接入记录中挖掘隐藏的关键信息。社团发现在诸多方面具备广阔的发展前景和重要的应用价值[5],但在大数据时代[6]中准确快速地解决社团发现问题仍面临着巨大的挑战。

文献[7-12]针对传统社团发现算法的缺点,提出了改进方法,却没有考虑地理位置信息[13]。文献[14-16]分析了将社区发现与关联规则相结合的可行性,并提出了混合算法。文献[17-19]针对传统关联规则算法挖掘效率低的缺点,提出了改进算法。然而,上述大部分算法均是单机执行,已无法处理大规模复杂数据集。

针对上述问题,本文深入研究了社团发现问题,并提出了基于Spark 利用改进关联规则解决无线城市社团发现问题的SIACD(Spark-based use of improved Apriori to achieve community detection)算法。实验结果表明,SIACD 算法解决了Apriori 算法需大量迭代计算的问题,改善了团搜索(clique search,CS)算法生成结果冗余的不足,充分发挥Spark并行计算的优势,避免了MP-T-CS(MapReduce tree clique search)算法多次磁盘I/O操作的缺点,有效提升了计算效率。

文章组织结构如下:第1 章介绍研究背景与意义;第2章介绍基础知识和Spark大数据平台;第3章介绍相关算法并分析其不足;第4 章介绍新SIACD算法;第5 章为实验验证及结果分析;第6 章总结全文。

2 相关知识

2.1 社团发现

社团发现是指发现网络中社团个体行为之间的关联关系。用户之间的互动越频繁就越可能蕴含着潜在的兴趣关联或者较强的社交关系。

2.2 MAC地址

定义1[4](MAC 地址)介质访问控制地址,又称为物理地址,用来定义网络硬件设备的位置。

定义2[4](MAC地址原始数据)用户使用设备的MAC地址、无线网络的MAC地址、接入时间、接入地点以及其他相关信息组成的集合。

定义3[4](MAC 地址事务数据)将MAC 地址原始数据中同时同地的数据压缩后得到的集合。

例如,在同一地点3位用户进行无线网络认证行为,100 s以内有效,如表1所示[20]。

Table 1 MAC transaction data表1 MAC事务数据

2.3 关联规则

关联规则是分析数据源并从中发现事物之间可能存在的关联或者联系。Apriori算法是经典的关联规则算法,已广泛应用到各个领域。

定义4[21](关联规则)某事务包含项集X,很可能包含项集Y(X⋂Y=∅),关联规则:X→Y。

定义5[21](支持度计数)事务包含项集X的个数,表达式:σ(X)=|{ti|X⊆ti,ti⊆T}|。

定义6[21](支持度)事务同时包含X和Y的百分比,表达式:s(X→Y)=σ(X⋃Y)/N。

定义7[21](置信度)事务已包含X时,包含Y的百分比,表达式:c(X→Y)=σ(X⋃Y)/σ(X)。

定义8[21](频繁项集)支持度大于等于支持度阈值的项集。

性质1[17]若一个项集是频繁项集,则它的所有子集也都是频繁项集。反之也成立。

2.4 Spark平台

早期研究者较关注基于Hadoop的算法并行化计算,但Hadoop网络和磁盘读写开销很大,难以高效地实现大量的迭代计算[22-26]。Spark 是专为处理大数据而设计的快速且通用的计算引擎[27]。Spark不仅能基于内存计算,还能在Hadoop 中并行计算,因此Spark能更好地适用于需大量迭代计算的算法,在实际的数据分析过程中具有重要的意义[28]。

3 相关算法研究

3.1 基于CS算法的社团发现

3.1.1 经典CS算法

团搜索(CS)算法主要思想是将数据映射到无向有权图中,节点代表用户,边代表不同用户在某地同时出现的关系,边上的权重代表同时出现的次数。通过挖掘由较大权重的边组成的团,从而发现潜在的社团关系。但CS算法存在生成结果冗余、复杂度高、海量数据溢出等问题。

3.1.2 改进MP-T-CS算法

MAC地址数据预处理主要伪代码如下所示:

针对CS 算法的缺点,提出了解决无线城市数据中社团发现问题的MP-T-CS算法。该算法利用特殊二叉树结构存储数据,将CS 算法的主要思想结合MapReduce模型[4],在Hadoop集群上实现了算法并行化计算,但该算法进行了多次Map和Reduce操作,只有重新从磁盘中加载数据后才能再次处理数据,因此造成了不必要的时间消耗。

3.2 基于Apriori算法的社团发现

3.2.1 核心思想

事务代表社团活动,而事务的项集代表用户组成的社团数据集合,若不同的用户同时在某些事务中频繁出现,那么他们很可能属于同一个社团。利用Apriori算法寻找频繁项集的过程就是挖掘不同用户是某社团成员的过程,即为社团发现。

3.2.2 算法步骤

首先从数据集中生成候选1-项集C1,当C1大于等于支持度阈值时生成频繁1-项集L1。然后由L1两两结合生成C2,对C2进行剪枝并生成L2,不断迭代,直至最终获取Lk。算法流程图如图1所示。

Fig.1 Community discovery flow chart based on Apriori algorithm图1 基于Apriori算法的社团发现流程图

3.2.3 算法分析

Apriori算法需不断遍历数据集来计算候选项集的支持度计数,其计算复杂度主要受到项数和事务数的影响。设事务数为m,项数为n,该算法的时间复杂度为O(mn2),空间复杂度为O(n2)。不难看出,Apriori 算法的复杂度较高,会造成极大的时间消耗与空间消耗,尤其是输入大规模数据时,传统Apriori算法挖掘效率很低,因此不适用于现阶段大规模复杂网络数据中的社团发现。

4 新SIACD算法

4.1 核心思想

SIACD算法的核心思想:首先,针对大多数社团发现算法不考虑社团成员所在地理位置信息的问题,引入了无线城市中MAC 地址事务数据,利用布尔矩阵将数据进行压缩,这样可以有效减少数据的存储空间[29];其次,利用基于项数布尔矩阵中0-1向量的交运算来改进传统Apriori算法循环扫描数据的缺点,并保留关联规则的先验性质,将不符合条件的项集删除,再次压缩数据,从而减少计算次数;最后,在Spark 集群上实现算法的并行化计算,利用Spark 基于内存计算的优势,提高算法的计算效率。

从目前来看,与其他的英语教学阶段相比,高职英语教育在实践教学的过程之中存在许多的不足,其中职校学生的综合英语基础相对较为薄弱,老师所采取的教学理念以及教学模式比较传统以及单一,实际的教学内容与慕课的教学要求之间还存在许多差距,这一点严重影响了教学质量以及教学水平的提升。

湖州市南浔区人民政府副区长沈雪芬在大会致辞中肯定了南浔木地板产业的发展,并表扬了包括世友地板、久盛地板、森林之星地板等优秀地板品牌。她相信,中国地板产业必将形成新的格局,并拥有更广阔的发展前景。

4.2 MAC地址数据预处理

针对大多数传统社团发现算法没有考虑地址位置信息的缺点,SIACD 算法引入MAC 地址的概念。事务Tn[21]代表同时出现在某地的用户们所拥有的MAC 地址的集合,且事务Tn中包含唯一的标识号TID。若一组MAC 地址在不同的事务中频繁出现,则表示这些用户来自于同一个社团[13]。而利用Apriori 算法寻找MAC 地址事务数据中频繁项集的过程,即为社团发现。

4.2.1 相关定义

定义9[19](布尔矩阵)又称0-1矩阵。

定义10[17](项数)事务Tn包含项的个数叫作事务的项数,用TIn表示。

定义11[17](项数布尔矩阵)在布尔矩阵的前面加上一列记录事务的项数,即项数布尔矩阵。

性质2[17]在数据集中若存在一个事务Tn,且该事务的项数小于k,当生成频繁k-项集时,没有必要扫描该事务。

证明生成Lk时需计算Ck的事务数,若Tn的项数小于k,由定义10可知Tn不可能包含Ck,则不需要扫描Tn。因此如果直接挖掘Lk,则可以删掉项数小于k的Tn,不用映射到布尔矩阵中[17]。 □

4.2.2 处理方法

将MAC 地址原始数据中同一时间和场所的数据进行压缩,删除非关键数据,只保留用户设备的MAC 地址和无线网络的MAC 地址以及接入时间等数据,生成MAC 地址事务数据集。利用0-1 储存特性将其转化成布尔矩阵,这样可以有效压缩数据存储空间,节约数据读取扫描的时间。

手机用户在进行手机摄影过程中,需要具有一定的道德观念和法律意识,但有一部分手机用户往往会为了迎合受众猎奇心理,利用一些较高的隐蔽性功能进行拍摄,并将一些隐私图像上传至网络,严重侵害公民隐私权。

MAC地址数据预处理主要思想如图2所示。

Fig.2 Data preprocessing main idea diagram图2 数据预处理主要思想图解

从HDFS(Hadoop distributed file system)中读取MAC地址事务数据,以事务TID为行和项集items为列构造事务矩阵M。若事务Tn中存在项集I,则其对应的矩阵位置上赋值为“1”,若不存在则赋值为“0”。以此类推,从而将MAC 地址事务数据转化为布尔矩阵MT。为了方便计算,在矩阵前面加上一列项数TIn,得到基于项数的全局布尔矩阵MTI。

4.2.3 处理流程

6.{Tn=Ti∩Ti-1}//生成新事务

一词多译,在本文指一个术语有多个译文版本的现象,既包含语义无实质偏差的译文,也包含存在语义偏差的译文。

4.3 基于改进Apriori算法的社团发现

传统Apriori算法计算效率低的本质原因是频繁的迭代过程已无法满足大数据时代对社团发现问题的处理能力要求,对此本文结合Spark集群对Apriori算法进行如下改进。

Fig.3 Data preprocessing flow chart图3 数据预处理流程图

4.3.1 基于Apriori的改进

针对Apriori算法存在重复扫描数据集及生成结果冗余等问题,SIACD 算法引入基于项数的布尔向量[30]交运算的概念,能避免无效运算,进而提升算法效率。

定义12[17](布尔向量交运算)布尔向量X=(x1,x2,…,xn)和Y=(y1,y2,…,yn)的交运算定义为X⋂Y=(x1·y1,x2·y2,…,xn·yn)。布尔向量交运算相当于逻辑与运算,0 ⋂0=0,0 ⋂1=0,1 ⋂0=0,1 ⋂1=1。

Output:Lk.

“支架”是教师和学习者共同活动的过程,教师和学习者都为主体。只有教师和学习者都积极参与互动,才能促进学习者从在教师的指导下完成任务转变为独立完成任务,提高自己的自主学习能力。教师“支架”是否能起到预期的作用受到教师和学习者相关因素的影响。

全局Moran's I取值范围为[-1,1],I>0表明各样本点互为正相关,且值越大,正相关程度越大;I<0表明各样本点互为负相关;I=0表明没有相关性。

2.if(TIi

3.{deleteTi}//删除项数小于k的事务

4.else

5.for(i=last,i>1,i--)//从最后一行向上做交运算

MAC地址数据预处理流程图如图3所示。

(2)加强施工工艺改造技术的研究。喷混植生是工程与生物措施紧密结合的施工技术,工艺过程复杂并影响着工程质量。主要研究不同母岩、不同坡度岩石坡面的最佳施工工艺,锚杆与挂网工艺的改进、建植层喷混工艺的优化等,达到既降低生产成本,又能快速生态治理、长期护坡的目的。

7.Ck=T1⋃T2⋃…⋃Tn//生成局部候选项集Ck

8.if(Sup(Ck)

9.{deleteCk}//局部候选项集的支持度小于局部支持度阈值或不满足先验性质,则删除

10.else

14.else

11.C=C1⋃C2⋃…⋃Cn//合并所有局部候选项集

12.if(Sup(C)

这么壮观的场面,该发个朋友圈了!近日,湖南高速警察民警巡逻中发现一小车撞护栏,所幸无人受伤,后对驾驶员进行酒精测试,结果显示醉驾,此时他竟提出要拍个照发“朋友圈”。

13.{deleteC}//删除小于支持度阈值的候选项集

MATLAB仿真过程中每组发送的原始数据帧的个数K设为100,共发送25组数据帧.在40MHz带宽下对单流和双流分别取MCS4和MCS11的情况进行评估和分析.

15.L=allC//生成全局频繁项集L

4.3.2 提取社团

由于MAC 地址具有唯一性,因此用户MAC 地址等价于项I,即MACn=In。项In代表拥有MACn的社团成员,事务Tn代表社团活动,而事务的频繁项集代表成员组成的社团集合。若MAC 地址频繁地同时出现在某些事务中,那么其对应的用户即为同一个社团成员。利用改进Apriori 算法寻找MAC 地址事务中频繁项集的过程即为社团发现,而频繁项集中包含的MAC地址拥有者即为该社团成员。

例如,通过4.3.1 小节生成全局频繁项集L={I1,I2,I3},将L中I转换成对应的MAC地址,即L={MAC1,MAC2,MAC3}。由MAC地址的唯一性可知,其对应的用户就是该社团成员,即用户1、用户2、用户3 这三位为该社团成员。

4.4 基于Spark的并行化处理

4.4.1 处理过程

首先,Spark 通过flatmap()读取数据并转换成由事务标识及对应项组成的键值对。其中TID 对应key,而item 对应value。Reducebykey()将事务Tn所包含的项整合并计算其个数,获取每个事务的项数TIn,添加到事务布尔矩阵首列前面。利用filter()删除项数小于支持度阈值的事务,这样可以有效减少无效数据,节省扫描数据的时间。其次,将剩余事务中的项整合成项集items 作为value,生成键值对。TID 两两相交并计算事务的项数,即items 中的布尔向量逐一两两做交运算并将相交结果存储于中。若事务的项数大于等于支持度阈值,则生成局部频繁项集。Reducebykey()合并全部的局部频繁项集,生成全局候选项集,利用filter()将不满足Apriori原则及支持度小于全局支持度阈值的删除,生成全局频繁项集。最后,将全局频繁项集子集中的项依次转换成MAC地址,获得其对应的社团成员集合。

电力变电站运行的过程中,一定要重视设备的质量检查,因为设备的安全性取决于其质量的好坏。电力企业需成立专业的设备评估小组,对各电力运行设备等进行定期维护和评估,保证设备能够满足国家规定的要求。对于一些磨损或老旧设备要进行维护和更换,从而实现电力系统电力变电站的高效安全运行,在这个基础上提高电力行业的发展实力。

4.4.2 RDD分区

目前聚类方式有三类:一是系统聚类,用于对小样本的对象间聚类以及对变量聚类。二是有序样品聚类,对有排序次序的样本的对象间聚类,要求是次序相邻的对象才能聚为一类。三是动态聚类,适用于样本量大时对象间的聚类,一般用k-means法处理。由于内部审计一般依靠历史数据,提出有价值的工作建议,所以由于涉及内部审计的业务数据量较大,所以本文采用第三种聚类分析方式。

一般情况下,RDD(resilient distributed datasets)会自动进行分区,但由于分区的数量影响着运行时间的变化,尤其是通信代价在分布式程序中占比很大,Spark 程序可以自定义分区数量,因此通过控制RDD 分区对数据进行并行化处理来减少通信开销。最终目的是尽量减少网络传输代价,从而极大地提升整体性能。

比如,明确鲢鳙鱼的投放、捕捞经营权归千岛湖发展集团,鲢鳙鱼年投放量必须在60万kg以上,鲢鳙鱼捕捞生产采取限额捕捞制度。

在spark-shell中执行分区代码部分如下所示:

实时跟踪系统就是跟踪、记录学生的学习过程和教师的教学过程,得到大量的学习数据和教学数据,并智能化分析这些数据,得出有建设性的结论和建议,为改进教学和学习提供强有力的指导。这一功能模块与铜职院的质量管理办公室所做的工作切合,质量管理办公室的主要任务就是对学校教学质量进行诊断改进分析研判。实时跟踪系统不仅对单个教师的教学提供帮助,更是对整个学校的教学改革和教学研究提供大数据支持。因此这是学校应该重点建设的第二个模块,此方面可能涉及到人脸识别、智能跟踪定位、数据存储等相关的技术。

1.textFile(path,partition)//从HDFS读取数据

2.def getPartitions:Array[Partition]//通过该方法获取RDD的分区数量()

3.parallelize(1 to 100,任务数)

4.getNumPartitions:Int=分区数//RDD的分区

5.saveAsTextFile("/路径")}//保存路径

4.5 算法流程与举例说明

4.5.1 算法流程

SIACD算法流程图如图4所示。

4.5.2 算法举例

为了更加清晰地论述SIACD 算法的主要思想,举例如图5所示。

设min_sup=30%,则挖掘频繁k-项集的事务数为当设分区数为2时,局部频繁k-项集的事务数为count(Ck)≥假设求L3(k=3),则将局部布尔矩阵按项数大小降序重新排列,然后把项数小于3 的事务T1和T6删除,产生新的局部布尔矩阵

Fig.4 SIACD algorithm flow chart图4 SIACD算法流程图

综上分析,只有项集{I1,I2,I3}满足要求,因此得到频繁3-项集L3={I1,I2,I3}。将I转换成MAC 地址,得到L3={MAC1,MAC2,MAC3}。即MAC 地址用户频繁地同时出现在事务T5~T7中,因此对应的用户1、用户2、用户3为同一社团成员。

Fig.5 Parallel processing diagram based on improved Apriori图5 基于改进Apriori的并行处理图解

4.6 算法分析

4.6.1 时间复杂性分析

SIACD算法通过预处理过程将数据集转化为布尔矩阵,只扫描一次全部的事务数据集。布尔向量两两自连接可直接获取频繁项集,无需迭代运算,有效减少了计算量,并结合Spark 实现了并行化处理,降低了运行时间。设事务数为m、项数为n、分区数为p,该算法的时间复杂度为O(mn/p),小于Apriori算法的时间复杂度为O(mn2)。另外,Spark 将数据缓存在内存中计算,避免了大量的磁盘I/O 操作,降低了运行时间,提高了计算效率。

4.6.2 空间复杂性分析

SIACD算法利用0-1形式转化数据,有效减少了数据的存储空间。通过布尔向量两两自连接完成交运算,有效减少了候选项集的规模,避免了大量的迭代计算,同时减少了中间结果的存储空间。因此当事务数为m及项数为n时,该算法的空间复杂度为O(n),小于Apriori算法的空间复杂度为O(n2)。

5 实验验证与分析

5.1 实验环境

搭建Spark分布式计算集群,其中包含1个master主节点和7 个slave 计算节点。计算机配置:CPU 型号为Intel core i7-6500U,内存为16 GB,硬盘为1 TB,操作系统为Linux系统,Ubuntu 14.04,JDK 1.8,Hadoop 2.6.0,Spark 1.6。

5.2 实验对比

本文均采用多次平均值的方式统计运行时间以消除单次实验带来误差的影响。通过对MAC 地址数据集进行随机采样来控制输入MAC 地址事务数据规模。采用UCI 数据集中MAC 地址样本数据集概况如表2所示。

Table 2 Survey of sample data sets表2 样本数据集概况

5.2.1 结果准确性实验

实验条件:集群节点数为8,MAC 地址事务数据为样本1和样本2,预设min_sup=20%及δ=0.05[13],将两样本中固有社团作为社团发现结果准确性的评价标准,对比SIACD 算法、Apriori 算法、MP-T-CS 算法、CS 算法、NMF 算法[12]、并行谱聚类算法[29]的挖掘结果。N()表示该算法挖掘的社团个数,实验结果如表3所示。

Table 3 Comparison of mining result表3 挖掘结果对比 个

实验分析:如表3 所示,六种算法的社团挖掘结果大致相同,且并行SIACD 算法和单机Apriori 算法挖掘的社团质量和数量相同。实验说明:SIACD 算法的并行化处理是可靠的,能准确挖掘出满足支持度阈值的频繁项集以及所需提取的社团及社团成员集合。

5.2.2 计算效率实验

实验条件:集群节点数为8,预设min_sup=20%,MAC 地址事务数据为样本1 至样本5,对比SIACD算法、Apriori 算法、MP-T-CS 算法、CS 算法的运行时间的变化情况,实验结果如图6所示。

Fig.6 Comparison of running time of 4 algorithms in different amount of data图6 四种算法在不同数据量下运行时间的比较

实验分析:如图6所示,当数据量较少时,SIACD算法、MP-T-CS算法、CS算法三种算法的运行时间大致相同,原因是SIACD 算法是建立在Spark 伪集群上,节点之间传输数据浪费了时间,因此此时并没有体现集群并行计算的优势。当数据量逐渐增大时,SIACD算法的运行时间要明显低于其他算法的运行时间,这是由于SIACD 算法利用布尔矩阵将数据进行了压缩,以及优化了频繁项集迭代的过程。当数据量较大时,通信开销占比微小可忽略不计,Spark基于内存快速计算的特性显现优势。实验说明:SIACD 算法对海量数据的处理能力和计算效率比Apriori算法、MP-T-CS算法、CS算法更好。

5.2.3 支持度实验

实验条件:集群节点数为8,MAC 地址事务数据为样本3,min_sup从10%至50%依次递增,对比SIACD 算法、Apriori 算法、MP-T-CS 算法、CS 算法的运行时间的变化情况,实验结果如图7所示。

Fig.7 Comparison of running time of 4 algorithms under different min_sup图7 四种算法在不同支持度阈值下运行时间的比较

实验分析:如图7 所示,四种算法的运行时间会随着支持度阈值的增大而减少,原因是算法利用支持度删除不满足要求的数据,支持度阈值越高,挖掘频繁项集的数量就越少,时间消耗越少。随着支持度阈值逐渐减少时,SIACD 算法的运行时间明显少于其他三种算法,这是由于SIACD算法利用0-1代替原始数据,减少数据存储和扫描的时间,并优化了计算过程,从而减少了运行时间。实验说明:支持度阈值过大挖据的有效信息减少,而支持度阈值过小挖掘的信息复杂且冗余,这说明预先设定不同的支持度阈值会影响产生频繁项集的时间,进而影响算法的计算效率。在同等条件下,SIACD 算法的计算效率高于其他的算法。

5.2.4 可扩展性实验

加速比是同一任务在单节点和多节点并行处理中消耗时间的比率,用来衡量算法程序并行化的性能及效果。加速比公式:

实验1MAC 地址事务数据为样本3,集群节点为1 至8,预设min_sup=20%,分别测试SIACD 算法、MP-T-CS算法的加速比,实验结果如图8所示。

Fig.8 Change of speedup ratio of algorithms图8 算法加速比的变化情况

实验分析:如图8 所示,两个算法的加速比均随着节点数的增加呈上升趋势,这表明计算速度在逐步提高。当节点数也相同时,SIACD 算法的加速比总是要高于MP-T-CS 算法,原因是SIACD 算法将数据压缩,有效减少了数据处理时间,并省去了生成频繁项集的迭代过程,大大降低了运行时间。实验说明:虽然SIACD 算法和MP-T-CS 算法都具备可扩展性,但SIACD算法的并行化性能及效果更好,对海量数据的计算效率更高。

实验2集群节点为1 至8,预设min_sup=20%,分别测试SIACD算法计算MAC地址事务数据样本1至样本5的加速比,实验结果如图9所示。

Fig.9 Change of speedup ratio of SIACD algorithm under different amount of data图9 SIACD算法在不同数据量下加速比的变化

实验分析:如图9所示,当节点数不变,数据量较小时,线段接近水平,这说明加速效果并不明显,原因是此时计算时间较短,通信开销占比略大,并行计算优势也不突出。但当数据量较大时,通信开销占比可忽略不计,由于SIACD算法是基于Spark内存快速计算的,加速优势明显。实验说明:在处理海量数据时,SIACD算法可以有效减少时间消耗,具有较好的处理能力和计算效率。

6 结束语

针对社团发现算法计算效率低及复杂度高等问题,本文提出了基于Spark利用改进关联规则解决无线城市社团发现问题的SIACD算法。该算法充分利用Spark基于内存计算的特性,避免了MapReduce多次磁盘读写操作,改善了Apriori 算法迭代计算的不足,提高了社团发现的效率。实验结果表明,传统的社团发现算法和关联规则算法均不满足大数据时代对计算速度的要求,SIACD算法性能优势明显,降低了计算时间,有效提升了对海量数据的处理能力。下一步,希望结合FP-tree 算法对无线城市社团发现问题进行更深入的研究。

猜你喜欢
项数项集布尔
布尔的秘密
巧用“三招”,求数列不等式中项数n的最值
基于共现结构的频繁高效用项集挖掘算法
我不能欺骗自己的良心
不确定数据频繁项集挖掘算法研究
基于矩阵相乘的Apriori改进算法
求 和
狼狗布尔加
创新思维对有效整合数学知识网络的意义