文章快速检索     高级检索
  重庆邮电大学学报(自然科学版)  2020, Vol. 32 Issue (3): 487-494  DOI: 10.3979/j.issn.1673-825X.2020.03.019
0

引用本文 

尚家泽, 安葳鹏, 郭耀丹. 基于阈值的BIRCH算法改进与分析[J]. 重庆邮电大学学报(自然科学版), 2020, 32(3): 487-494.   DOI: 10.3979/j.issn.1673-825X.2020.03.019.
SHANG Jiaze, AN Weipeng, GUO Yaodan. BIRCH algorithm improvement and analysis based on threshold value[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2020, 32(3): 487-494.   DOI: 10.3979/j.issn.1673-825X.2020.03.019.

基金项目

河南省教育厅应用研究计划项目(16A520052)

Foundation item

The Applied Research Project of Henan Education Department(16A520052)

作者简介

尚家泽(1994-),男,河南新乡人,硕士研究生,主要研究方向为数据挖掘和机器学习。E-mail:971945362@qq.com; 安葳鹏(1969-),男,河南焦作人, 教授, 研究领域为计算机测控技术, 虚拟现实技术。E-mail:awp@hpu.edu.cn; 郭耀丹(1994-),女,山西原平人,硕士研究生,主要研究方向是服务计算和深度学习等。E-mail:guodandna@163.com

通讯作者

安葳鹏 awp@hpu.edu.cn.

文章历史

收稿日期: 2018-12-18
修订日期: 2020-02-25
基于阈值的BIRCH算法改进与分析
尚家泽, 安葳鹏, 郭耀丹     
河南理工大学,河南 焦作 454000
摘要: 平衡迭代规约层次聚类(balanced iterative reducing and clustering using hierarchies, BIRCH)算法是一个综合的层次聚类算法。但BIRCH算法为叶子节点中的簇设置统一的空间阈值,根据数据对象与簇之间的距离来决定数据对象的插入位置,从而忽略了簇与簇之间的关系;此外,算法在分裂节点时,选取距离最远的2个聚类特征作为子簇,其他聚类特征会根据与这2个聚类特征之间的距离关系分裂为另外的子簇,造成处于簇与簇之间的样本数据错误分类,这样会忽略聚类特征之间的关系。针对BIRCH算法的这2个问题,提出了基于阈值的自适应算法,用于解决原算法统一空间阈值的问题;并在针对聚类特征关系的问题上,结合朴素贝叶斯算法对原算法进行改进。对改进后BIRCH算法与传统的算法进行仿真实验。结果表明,改进算法在损失效率的情况下,聚类效果得到了明显的改善,并且与其他算法相比,所提算法具有不错的表现性,而且具有跨数据集的鲁棒性。
关键词: 平衡迭代规约层次聚类(BIRCH)算法    自适应    阈值    贝叶斯算法    
BIRCH algorithm improvement and analysis based on threshold value
SHANG Jiaze , AN Weipeng , GUO Yaodan     
Henan Polytechnic University, Jiaozuo 454000, P. R. China
Abstract: Balanced iterative reducing and clustering using hierarchies(BIRCH) is a comprehensive and hierarchical clustering algorithm. However, algorithm BIRCH sets a unified space threshold for clusters in leaf nodes, and where it inserts the data is determined by the distance between data and clusters, thus ignoring the relationship between clusters. In addition, when splitting nodes, the algorithm selects two clustering feature with the maximum distance as its sub-clusters, which is used by other clustering to splitting, thus resulting in the wrong classification of sample data between clusters and ignoring the relationship between clustering features. To deal with the two problems of BIRCH algorithm, an adaptive algorithm based on threshold is proposed in order to solve unified space threshold of the original algorithm, and the original algorithm is improved by combining Naive Bayesian algorithm to solve the problem of clustering features. A simulated experiment on the improved BIRCH algorithm and the traditional one shows that the clustering effect of the BIRCH algorithm is obviously improved under the loss of efficiency, and compared with other methods, the proposed method has good performance and is robust across data sets.
Keywords: balanced iterative reducing and clustering using hierarchies (BIRCH) algorithm    self-adaption    threshold    Bayesian algorithm    
0 引言

聚类[1-2]是一种无监督学习方法,它将一组给定的数据集划分为若干个不相交的子集。平衡迭代规约层次聚类[3](balanced iterative reducing and clustering using hierarchies, BIRCH)算法在聚类中主要针对大规模数据集分类,扫描一遍数据集就能进行有效的聚类,并在处理离散点方面表现突出。BIRCH是基于距离的层次聚类算法,引入聚类特征和聚类特征树2个概念,采用层次方法的平衡迭代对数据集进行规约和聚类。聚类特征树包括了聚类的有用信息,占用空间小,可直接放在内存中,从而提高算法在大型数据集合上的聚类效率及可伸缩性。对大数据分析有重要的意义。

BIRCH算法由Zhang等提出,主要缺点有:①聚类结果依赖于数据点的插入顺序,本属于同一个簇的数据点可能由于插入顺序不同而被分到不同的簇中;②对高维特征的数据集以及非球状的簇聚类效果不好;③为叶子节点的簇设置固定阈值,忽略了簇与簇之间的关联。

针对BIRCH算法的以上缺点,诸多研究人员对其进行了改进,文献[4]考虑了集群内部相似性,对BIRCH算法的平衡因子以及阈值进行了分析,并给出了优化的方法;文献[5]提出了基于阈值的加权相似度的BIRCH算法,并将该算法应用于气象数据的时间序列分析中;文献[6]针对当前分层聚类算法在大数据集的聚类过程中存在隐私泄露的风险,提出了在3种不同隐私下改进的BIRCH算法,并验证了其中一种差分BIRCH算法是最好的,但是算法的时间复杂度明显高于原算法;文献[7]在BIRCH算法的基础上,在数据动态形成聚类中心点上创建阈值,把改进后的算法运用在火电机组损耗分析中;文献[8]提出了最优阈值算法,使BIRCH算法在没有全局聚类阶段的情况下也能进行适当的聚类。在其他聚类算法中,文献[9]针对较大数据集对K-means算法进行改进,递归的将整个数据集划分为一小部分子集,然后在这些子集上使用带加权值的K-means算法,可以减少计算距离的次数,提高算法的精确度。文献[10]针对较大数据集对密度峰值聚类(density peak clustering, DPC)算法进行改进,提出了2种预筛选策略:①基于网格对数据点进行划分;②基于圆分割。前者是在大规模数据集上表现得更快,后者则表现得更精确。

本文提出了一种改进的BIRCH算法,首先提出了一种启发式的初始阈值[13]设定方式,并利用启发式初始阈值自适应算法解决原算法中统一阈值的局限性,充分考虑了簇与簇之间的相关性。其次,针对算法在分裂节点时,选取距离最远的2个聚类特征作为子簇,其他聚类特征根据与这2个聚类特征的距离关系分裂为另外的子簇。运用朴素贝叶斯先验概率算法,对聚类特征进行精准的划分。改进后的算法在一定程度上解决了统一阈值和节点分裂的问题,提高了聚类的准确率。

1 BIRCH算法

BIRCH算法的全称为利用层次方法的平衡迭代规约和聚类[11],针对大规模数据聚类速度快,只需单遍扫描数据集就能进行聚类,聚类特征(clustering feature, CF)和聚类特征树为其2个最主要的特征。

1.1 聚类特征

算法使用CF概括描述各簇的信息,其定义如下。

设某簇中有ND维的数据点,{xn}(n=1, 2, …, N),则该簇的聚类特征CF定义为三元组[12]CF=(N, LS, SS),其中,N为该簇中数据点的数量,LSN个数据点的线性和,SSN个点的平方和。

1.2 聚类特征树

CF树存储了层次聚类簇的特征,为一棵高度平衡树[14],树的每一个节点是由若干个聚类特征组成。图 1[15]为CF树的结构图。

图 1 CF树结构图 Fig.1 CF tree structure diagram

CF树由根节点、枝节点和叶节点构成,树结构包含3个参数[16]:①内部节点平衡因子B; ②叶节点平衡因子L; ③簇半径阈值T。因子B限制非叶子节点的子节点数,因子L限制叶子节点的子簇个数,因子T限制簇与簇之间的紧密程度。

1.3 BIRCH算法描述

BIRCH算法流程[14]主要分为4个过程:①将所有的样本依次读入,在内存中建立一棵CF树;②将第一步建立的CF树进行筛选,去除异常点,对于距离近的簇进行合并;③和④利用其他聚类算法对所有的CF簇进行聚类,得到较好的CF树。

其中,CF树的构建是最关键的过程[17],步骤如下。

1) 确定初始参数BLT,读入第一个样本点作为CF树的根节点;

2)新样本加入,如果CF簇半径小于阈值T,更新路径上所有的参数,否则转入3);

3)若当前叶子节点的CF节点个数小于阈值L,则创建一个新的CF节点,更新参数,否则转入4);

4)选择叶子节点中距离最远的2个CF节点作为新的簇,其他节点成为另一个簇,依次检查父节点是否需要分裂,若需要则方式相同。

2 BIRCH算法改进 2.1 自适应算法改进

对于未标记的数据集,BIRCH算法可以自动确定聚类中心的位置以及自动生成聚类特征个数。改进的自适应BIRCH聚类算法是对数据点的插入过程进行改进,从原来的单边扫描改为多次迭代,原理为首先给算法一个确定的合适大小的启发式阈值(该启发式阈值在3.1部分做实验分析),利用该确定的阈值对数据集进行初始聚类,合并距离较近的簇,确定最终的聚类结果。算法的具体过程如下。

1) 对于给定的样本数据集D={x1, x2, …, xN}(假设样本数据集包含N个无标记数据集),给定一个启发式的确定合适的距离阈值T(文中3.1部分给出了阈值T的确定方法)。

2) 从样本数据集中随机读入一个样本点作为第一个类中心μ1,并放入聚类中心集合B中,更新数据集。

3) 从当前数据集中随机抽取一个样本点,分别与聚类中心集合B中的类中心点计算得到最小欧式距离为dmin。若dmin≥2T,则将该样本点加入类中心集合B,若0≤dmin≤2T,则将该样本点加入到新的簇Ci中。重复该步骤直至遍历整个数据集,得到初始聚类中心集合为B={μ1, μ2, …, μm}。

4) 将原数据集中的样本分别与聚类中心集合B中的m个中心计算欧式距离,把计算得到的结果与初设阈值d比较,将样本加入到聚类中心对应的簇Ci中,最终得到i个聚类簇C={C1, C2, …, Ci}。

5) 通过每个聚类簇Ci再次计算每个聚类簇的类中心位置

$ {\mu _m} = \frac{1}{{\left| {{C_i}} \right|}}\sum\limits_{{x_k} \in {C_i}} {{x_k}} $ (1)

(1) 式中:|Ci|为第i个聚类簇中样本的个数;xk为第i个聚类簇中的第k个样本,将计算结果作为新的聚类中心。

6) 重复步骤4)和5),直至聚类中心不再变化。再次计算簇与簇中心的欧式距离,如果2个簇中心的欧氏距离dn≤2T,则将2个簇进行合并,重新计算平均簇中心,最后得到新的聚类中心集合B

7) 将原数据集中的每个样本分别与新的聚类中心集合B中的簇中心计算欧式距离,最后得到新的簇集合C,计算每个聚类簇的平均类中心,得到新的聚类中心集合B

8) 重复步骤7),直至聚类中心不再变化,得到最终的聚类中心集合,通过欧式距离公式将样本点加入到聚类中,完成聚类。

2.2 簇分裂方法的改进

朴素贝叶斯算法对小规模数据表现很好,算法简单,并且与其他算法相比具有最小的误差率,算法最为关键的是在给出先验概率的基础上,可以得到后验概率。

在聚类过程中,针对处于簇与簇之间的聚类特征会被分到不同的聚类特征中的问题(小规模数据),采用朴素贝叶斯算法,提前假设该数据点为某一类,得到先验概率,算出每个节点的后验概率,再根据后验概率把节点分配到不同的簇中。

贝叶斯[18]分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出后验概率。朴素贝叶斯原理为假定训练数据集T={(x1, y1), (x2, y2), …, (xn, yn)}由P(X, Y)独立同分布产生,则先验概率分布为P(Y=ck), k=1, 2, …, K,条件概率分布为P(X=x|Y=ck), k=1, 2, …, K,则贝叶公式为

$ P\left( {Y = {c_k}\mid X = x} \right) = \frac{{P\left( {X = x\mid Y = {c_k}} \right)P\left( {Y = {c_k}} \right)}}{{\sum\limits_{j = 1}^K P \left( {X = x\mid Y = {c_j}} \right)P\left( {Y = {c_j}} \right)}} $ (2)

运用(2)式把簇与簇之间的特征进行重新划分,避免被分到不同的簇中。

3 实验结果与分析 3.1 启发式阈值实验分析

针对2.1节中提出的启发式阈值T,做出了详细的实验分析。

3.1.1 单簇聚合

通过二维高斯概率密度函数产生随机数,并划分出多个半径R=1的簇,选取出120 000个数据作为样本数据集。对每个数据集采用原BIRCH算法进行实验,判断每个数据集中的数据是否被分到原来采样的同一个簇中,评判的标准为分类错误率是否小于1%,针对不同的阈值T重复上述实验,实验结果如图 2

图 2 单簇聚合不同阈值实验 Fig.2 Experiments on different thresholds of single cluster polymerization

图 2a中看出,针对不同的阈值,分类错误率也表现得不同。选取阈值T=1.4, 1.5, 1.6进行实验,得到的分类错误率分别为2.13%,1.0%,0.7%。同时从图 2b中看出,对阈值T=1.3~1.7进行了对比实验,得出随着阈值的增加错误率不断下降,并且在阈值T=1.5时错误率为1.03%。

3.1.2 双簇分离

通过二维高斯概率密度函数产生随机数并划分出2个簇半径为1,簇距为6的数据集,其中包含样本数量为120 000个,对2个数据集采用原BIRCH进行实验,判断2个数据集是否被完全划分到不同的2个簇中。并针对不同的阈值进行试验,实验结果如图 3图 4

图 3 双簇分离不同阈值实验 Fig.3 Experiments on different thresholds of double cluster separation
图 4 多个阈值实验 Fig.4 Multiple threshold experiments

图 3中看出,针对阈值T=1.5, 2.0, 3.0进行实验,判断这些数据点是否被分到2个簇中,得出错误率分别为5.57%,0.62%,7.13%。结合图 4看出,阈值-错误率呈凹型曲线,在阈值T=2时,分类错误率最低0.62%。结合图 2~图 4的实验分析可以得出,在确定启发式阈值时,采用的数据是二维高斯概率密度函数产生的随机数,每次实验产生的随机数结果不同,针对每次不同的数据集进行实验,得到的结果是,初始阈值T=2时是最为恰当的。在3.2节,把初始阈值T=2用到6个标准UCI数据集中,同样得到最好的结果。因此,针对其他有效的数据集具有普遍适用性。

3.2 UCI数据实验分析

为了验证改进后算法的有效性,实验选取UCI[19]中Drug Review, Car Evaluation, Abalon, Roman, Urdu, Poker, Hand, Dodger, Loop Sensor的6个公开数据集,选取的6个数据集样本数量从2 500到50 000不等,可以针对不同大小的数据集验证所提算法的有效性。由于文献[4]和文献[5]中对原BIRCH算法的改进相对经典,因此,针对这2个文献中对BIRCH算法的阈值优化问题,分别用K_BIRCH(改进后的BIRCH)算法,文献[4],文献[5]以及原始BIRCH算法进行对比实验,在6个数据集上运行30次,以聚类准确率和聚类运行时间作为评价标准。表 1描述了数据集的详情信息。表 2描述了4种算法在这6个数据集上运行30次的平均准确率。表 3描述了4种算法在这6个数据集上运行30次的时间。表 4描述了在6个数据集中,用K_BIRCH算法选取不同的阈值进行实验的结果。

表 1 数据集信息 Tab.1 Data set information
表 2 算法准确率 Tab.2 Accuracy of algorithm
表 3 算法运行时间 Tab.3 Running time of algorithm
表 4 K_BICH算法不同阈值准确率 Tab.4 Accuracy of different thresholds in K_BICH algorithm

表 2看出,针对表 1中6个大小不同的数据集,本文提出的K_BIRCH算法在准确率方面明显地高于文献中其他2种算法,并且会远远大于原BIRCH算法。从4个算法的纵列看出,数据集2, 3, 4的规模大小明显小于数据集1,数据集5, 6的规模大小明显大于数据集1,但在分类精度方面明显小于数据集1,这是因为在数据集规模小于或者大于一定范围的情况下,聚类算法会收敛的过快或者过慢。

表 3看出,在聚类时间上对6个大小不同的数据集进行实验对比,本文提出的K_BIRCH算法在这4个算法中聚类运行时间最长,而原BIRCH算法运行时间最短,并且会根据数据集大小的变化而变化,这是因为在原算法中只需要一遍扫描数据集就可以进行聚类,而改进后的算法需要反复迭代才能完成聚类。

表 4看出,在6个数据集中用K_BIRCH算法选取T=1.5, 2.0, 2.5, 3.0进行对比实验,T=2.0时,准确率大于T=2.5和T=1.5的情况,并且明显大于T=3.0。这种情况与3.1部分的实验分析结果相一致。因此,得到T=2.0的初始阈值结果也适用于其他数据集。

选取800个数据,聚类特征数为4的数据集对自适应算法进行实验说明,实验结果如图 5图 5a展示800个数据的原始分布图。图 5b展示一次聚类结果,可以看出,聚类效果很不理想,聚类特征数达不到目标的4个,并且聚类效果比较分散,聚类特征之间的界线很不明显。图 5c展示多次迭代后的结果,聚类数达到目标的4个,但是在聚类特征之间的界线并不是很明显,还有很多误差。

图 5 800个数据聚类过程 Fig.5 800 data clustering processes

为了验证K_BRICH算法在聚类特征分裂时的问题,分别选取500和800个样本点,聚类特征数为4的数据集进行实验对比分析,聚类结果对比为图 6图 7

图 6 500个样本点实验对比图 Fig.6 Experimental contrast chart of 500 sample points
图 7 800个样本点实验对比图 Fig.7 Experimental contrast chart of 800 sample points

图 6a图 7a中(黑圈标明)看出,原始BIRCH算法在聚类过程中位于簇与簇之间的数据点会产生错误分类,并且簇与簇之间的界线并不是很明显。在运用了K_BIRCH算法后,对簇与簇之间的一些数据再运用贝叶斯算法对其进行重新划分,对样本数据进行正确的聚类,从图 3b图 4b中(黑圈标明)看出,聚类效果得到明显提高。

3.3 与其他聚类算法对比实验

为了充分验证本文中的改进算法在超大数据集下的表现,用二维高斯概率密度函数产生300 000个随机数,并且与文献[9-10]中的算法进行实验比较。文献[9]中的算法主要是针对改进的K-means算法在超大数据集上的运用,在算法中我们取维度d=2,聚类数k=9,在本文算法实验中也是按照在聚类数达到9的准确率。文献[10]中的算法是针对改进的密度峰值聚类算法(DPC)在超大数据集上的应用,因此,与这2个算法比较有很强的代表性,都是在超大数据集上进行实验。实验结果如图 8,为了使曲线更具有可读性,纵坐标(正确率)从0.8开始。

图 8 3种算法准确率对比图 Fig.8 Comparison of accuracy of three algorithms

图 8中看出,随着随机数的增加3种算法的准确率也在不断的变化。刚开始的聚类数据点为20 000个,文献[10]的算法正确率是最高的,但随着样本数据点的增加,其准确率在不断地接近饱和状态,最终以0.94结束。但本文算法K_BIRCH和文献[9]算法的准确率在不断地增加,并且本文算法在准确率方面一直保持比文献[9]算法高。

除了上述实验之外,我们还评估了这3个算法在‘The gas sensor array under dyn-amic gas mixtures dataset’数据集上的性能,该数据集在文献[9]中提到,包含了从16个暴露在不同浓度水平的气体混合物中的化学传感器获得的时间序列数据。数据由4 178 504组数据和19个属性组成,可在UCI数据集中获得,并将数据集按照(4 000, 12 000, 40 000, 120 000, 400 000, 1 200 000, 4 000 000)进行划分,按照数据集递增的方式进行实验,并且得到了相似的结论,其中实验选取70%的数据进行训练,选取30%的数据进行测试。实验是在一台配备了NVIDIA TITA-N Xp GPU和16G内存的机器上运行,实验结果如表 5,K表示1 000个数据。

表 5 3种算法在Gas数据集上的表现 Tab.5 Performance of three algorithms on Gas data set

表 5看出,3种算法从4K~120K的准确率不断上升,其中本文的K_BIRCH算法可以达到0.98,而文献[9]和文献[10]的算法分别达到0.96和0.95,这种情况的出现是因为3种算法主要是处理超大数据集,刚开始训练的数据集小,因此,达不到较高的精度。当数据集超过120K个样本后,算法精度会有所下降。但是在之后的样本试验中算法准确率还是会保持比另外2个算法高。得到结论与前面的实验结论基本保持一致。

4 结束语

本文在已有的工作基础上,提出了基于阈值的自适应BIRCH算法,并在原算法的基础上结合朴素贝叶斯算法。通过算法对数据进行反复地迭代,解决了同一阈值的问题,以及算法在节点分裂时出现的问题,对UCI中的6个数据集进行实验,并与文献[4]和文献[5]算法进行对比,实验表明,在一定程度上牺牲了算法的执行效率,但明显提高了算法的准确率,同时用本文所提算法与其他聚类算法(文献[9]和文献[10])进行对比,也获得了较高的准确率。但所提算法仍然存在一定的后续研究空间,例如在算法执行效率方面明显比其他算法低,在以后工作中将会解决算法执行效率的问题,以提高算法的高效性。

参考文献
[1]
BING S, HAN L, HONG Y. Adaptive clustering algorithm based on KNN and density[J]. Pattern Recognition Letters, 2018, 104(3): 37-44.
[2]
ZHAO X, LIANG J, DANG C. A stratified sampling based clustering algorithm for largescale data[J]. Knowledge-Based Systems, 2019, 163(1): 416-428.
[3]
ZHANG T, RAGHU R, MIRON L. BIRCH: A New Data Clustering Algorithm and Its Applications[J]. Data Mining and Knowledge Discovery, 1997, 1(2): 141-182.
[4]
KOVACS L, BEDNARIK L. Parameter optimization for BIRCH pre-clustering algorithm[C]//International Symposium on Computational Intelligence and Informatics. Budapest, Hungary: IEEE, 2011: 475-480.
[5]
ZOU J, ZHAO F, WANG H. BIRCH Clustering Algorithm Based on the Weighted Similarity[J]. Mathematics in Practice & Theory, 2011, 41(16): 118-124.
[6]
ZHANG Y, LI S. Privacy Preserving BIRCH Algorithm under Differential Privacy[C]//2017 10th International Conference on Intelligent Computation Technology and Automation (ICICTA). Changsha, China: IEEE, 2017: 315-320.
[7]
DU H, LI Y. An Improved BIRCH Clustering Algorithm and Application in Thermal Power[C]//International Conference on Web Information Systems and Mining. Sanya, China: IEEE, 2010: 53-56.
[8]
LORBEER B, KOSAREVA A, DEVA B. Variations on the Clustering Algorithm BIRCH[J]. Big Data Research, 2017, 11(05): 44-53.
[9]
MARCO C, ARITZ P, LOZANOA J. An efficient approximation to the K-means clustering for Massive Data[J]. Knowledge-Based Systems, 2016, 117: 56-69.
[10]
XU X, DING S, SHI Z. An improved density peaks clustering algorithm with fast finding cluster centers[J]. Knowledge-Based Systems, 2018, 158(15): 65-74.
[11]
杨玉梅. 基于信息熵改进的K-means动态聚类算法[J]. 重庆邮电大学学报(自然科学版), 2016, 28(02): 115-120.
YANG Y. Improved K-means dynamic clustering algorithm based on information entropy[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2016, 28(02): 115-120.
[12]
赵玉艳, 郭景峰, 郑丽珍.一种改进的BIRCH分层聚类算法[J].计算机科学, 2008, 35(3): 180-182.
ZHAO Y, GUO J, ZHENG L, LI J. Improved BIRCH Hierarchical Clustering Algorithm[J]. Computer Science, 2008, 35(3): 180-182.
[13]
曾庆山, 张贵勇. 基于距离阈值的自适应K-均值聚类算法[J]. 郑州大学学报(理学版), 2016, 48(4): 90-94.
ZENG Q, ZHANG G. An adaptive K-means clustering algorithm based on distance threshold[J]. Journal of Zhengzhou University (Natural Science Edition), 2016, 48(4): 90-94.
[14]
蒋盛益, 李霞. 一种改进的BIRCH聚类算法[J]. 计算机应用, 2009, 29(1): 293-296.
JIANG S, LI X. Improved BIRCH clustering algorithm[J]. Journal of Computer Applications, 2009, 29(1): 293-296.
[15]
张瑶, 李蜀瑜, 李泽堃, 等. 差分隐私保护BIRCH算法[J]. 东南大学学报(自然科学版), 2017(47): 140-144.
ZHANG Y, LI S, LI Z. BIRCH algorithm under- differential privacy[J]. Journal of Southeast university (Natural Science Edition), 2017(47): 140-144.
[16]
李帅, 吴斌, 杜修明, 等. 基于Spark的BIRCH算法并行化的设计与实现[J]. 计算机工程与科学, 2017, 39(1): 35-41.
LI S, WU B, DU X M, et al. Design and implementation of BIRCH algorithm parallelization based on Spark[J]. Computer Engineering and Science, 2017, 39(1): 35-41. DOI:10.3969/j.issn.1007-130X.2017.01.004
[17]
仰孝富.基于BIRCH改进算法的文本聚类研究[D].北京: 北京林业大学, 2013.
YANG X F. Research of Text Clustering Based on Improved BIRCH[D]. Beijing: Beijing Forestry University, 2013.
[18]
LI T, LI J, LIU Z. Differentially Private Naive Bayes Learning over Multiple Data Sources[J]. Information Sciences, 2018(44): 89-104.
[19]
DUA D, GRAFF C. UCI Machine Learning Repository[EB/OL].[2019-03-02]. http://archive.ics.uci.edu/ml, 2019.