




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CLOPE:针对交易的数据快速有效聚类算法摘要本文研究分类数据的聚类问题,特别针对多维和大型的交易数据。从增加聚簇直方图的高宽比的方法得到启发, 我们开发了一种新的算法CLOPE,这是一种非常快速、可伸缩,同时又非常有效的算法。我们展示了算法对两个现实数据集聚类的性能,并将CLOPEf现有的聚类算法进行了比较。关键词数据挖掘,聚类,分类数据,可伸缩性简介聚类是一种非常重要的数据挖掘技术,它的目的是将相似的交易 [12,14,4,1]分组在一起。最近,越来越多的注意力已经放到了分类数据[10,8,6,5,7,13]的聚类上,分类数据是由非数值项构成的数据。交易数据,例如购物篮数据和网络日志数据,可以被认为是一种特殊的拥有布尔型值的分类数据,它们将所有可能的项作为项。快速而精确地对交易数据进行聚类的技术在零售行业, 电子商务智能化等方面有着很大的应用潜力。但是,快速而有效聚类交易数据是非常困难的,因为这类的数据通常有着高维,稀疏和大容量的特征。基于距离的算法例如 k-means[11]和CLARANS都是对低维的数值型数据有效。但是对于高维分类数据的处理效果却通常不那么令人满意⑺。像ROC这类的分层聚类算法在分类数据聚类中表现的非常有效,但是他们在处理大型数据库时表现出先天的无效。Largeltem冋算法通过迭代优化一个全局评估函数对分类数据进行聚类。这个评估函数是基于大项概念的,大项是在一个聚簇内出现概率比一个用户自定义的参数一一最小支持度大的项。计算全局评估函数要远比计算局部评估函数快得多,局部评估函数是根据成对相似性定义的。这种全局方法使得Largeltem算法非常适合于聚类大型的分类数据库。在这篇文章中,我们提出了一种新的全局评估函数,它试图通过增加聚簇直方图的高度与宽度之比来增加交易项在聚簇内的重叠性。 此外,我们通过引用一个参数来控制聚簇紧密性的方法来泛化我们的想法,通过修改这个参数可以得到
不同的聚簇划分个数。实验表明,我们的算法运行速度比Largeltem快得多,聚类的质量与ROC算法⑺相当接近。为了解释算法的一些基本思想,我们采用一个非常小的交易数据库,其中包含5条交易数据{(苹果,香蕉),(苹果,香蕉,蛋糕),(苹果,蛋糕,盘子),(盘子,鸡蛋),(盘子,鸡蛋,鱼)}。为简单起见,交易(苹果,香蕉)被简称为ab,以此类推。对于这个小型数据库,比较下面两个聚类划分(1){{ab,abc,acd},{de,def}};(2){{ab,abc},{acd,de,def}}。对于每一个聚簇,我们计算每一个不同项的出现次数,然后得到聚簇的高度(H)和宽度(W。例如,聚簇{ab,abc,acd}中a:3,b:2,c:2,d:1,H=2.0,W=4图1将这些结果显示为几何上的直方图, 按项出现频率降序排列,这样做只是为了更容易直观展示。Habeddefh=i.q.nw rr±3Habeddefh=i.q.nw rr±3{abrabc7acd\{de,def)cliiitenug(1)I「I丨丨iabcdeacf{abfabc}{acdrde.fdef}
dusteriug⑵Figure1.His(ogramsofrhetwoclusteiings.图1两个聚簇的直方图我们通过分析聚簇的高度和宽度,从几何学上来评判这两个聚类的质量。不算{de,def}和{ab,abc}这两个拥有相同直方图的聚簇,另两个直方图的质量不同。聚簇{ab,abc,acd}的直方图8块区域(H=2.0,H/W=0.5)只有4个不同项,但是聚簇{acd,de,def}对于相同的块数却有5个不同的项(H=1.6,H/W=0.32)很明显,聚类(1)比较好,因为我们更希望同一个聚簇中的交易有更多的重叠。从上面的例子中,我们可以看到,拥有更大高宽比的直方图具有更好的簇内相似性。我们应用这一简单的直觉作为聚类算法的基础,用簇的直方图的几何性质定义全局评估函数。我们把这种新的算法叫做 CLOP——带有倾斜的聚类。CLOP算法不仅非常有效,在聚类形如市场交易数据和网络服务器日志这类高维的大型交易数据时也非常之快而且具有较好的可拓展性。本文的其它部分安排如下。第2节将更加正式地分析分类数据聚类问题,并提出我们的评估函数。第3节详细介绍CLOP算法以及其实现问题。在第4节,将CLOPEfLargeltem对现实数据集聚类的实验结果进行比较。 第5节介绍相关工作后,第6节对文章进行总结。CLUSTERINGWITHSLOPE具有倾斜的聚类)符号:在整篇文章中,我们使用以下符号。交易数据集D是一组交易{t1,...,tn}的集合。每条交易是一些项{i1,…,id的集合。一个聚簇{C1,...G}是{t1,…,tn}的一个划分,也就是说,GU…UCk={t1,...,t n}而且对任意1<i,j<k,满足C丰©ACinC=©。每一个C叫做一个簇。除非其它说明,n,mk分别表示交易的个数、项的个数和聚簇的个数。一次好的聚类应该将相似的交易分到同一组。大部分聚类算法定义一些评估函数并且优化它们,最大化簇内的相似度和簇间相异。评估函数可以定义为局部的的或者全局的两种类型。在定义为局部的方式中 ,评估函数建立在交易对相似性基础上。这种方式已经被广泛地应用于数值数据的聚类中,使用对相似性例如 Lp((工|xi-yi|p)1/p)作为两点之间的相似度量。常见的分类数据的相似度量有 Jaccard系数(|t1nt2|/|t1Ut2|),Dice系数(2x|t1nt2|/(|T1|+|T2|))或者简单地为两个交易的公共项数[10]。然而,对于大型的数据,相比于全局方法,这些局部方法在计算上的成本是非常巨大的。在Wang等在他们的LargeItem算法[13]中首创的全局相似测度也可以用于分类数据的聚类。在全局方法中,不需要个别交易之间的两两相似度量。 聚类质量在簇级测定,它利用了聚簇中大项集和小项集这样的信息。 既然这些全局度量的计算要比两两相似度的计算要快得多,所以全局方法对大型分类数据库的聚类处理中是非常有效的。与LargeItem相比,CLOPES用一个更简单而有效的全局测度来聚类交易数据集。更高的高宽比的生动形象地反映了更好的聚类结果。给一个聚簇C,我们可以找到其中所有不同的项以及每个项对应的出现次数,即包含了项的交易数。我们用D(C)表示不同项的集合,Occ(i,C)表示项i在聚簇C中的出现次数。然后我们可以画出聚簇C的直方图,项作为X轴,以它们出现次数的降序排列,项出现的次数作为 丫轴。我们定义聚簇C的大小S(C)和宽度W(C),如下:5(0m=|D(o|聚簇的高度定义为H(C)=S(C)/W(C)。当聚簇C不重要或者能从上下文推出时,我们将H(C),S(C),W(C)简写为S,W和Ho为了阐明,我们下面详细解释图1中最后一个聚簇的直方图。请注意,几何图2中,直方图与具有高度H和宽度W勺虚线矩形具有相同的大小S.Figure2.Thedetailedhistogramofcluster{acdtde,def}.图2聚簇{acd,de,def} 的直方图详解很明显,一个更大的高度表示在聚簇中项之间有更多的重叠,这样聚簇中的交易就有更多的相似性。在我们运行的例子中, {ab,abc,acd}的高度是2,而{acd,de,def}的高度是1.6。既然两个聚类的所有其它的特征是相同的,我们认为聚类(1)更好。然而,为了定义我们的评估函数,单独定义高度是不够的。取一个非常简单的数据库{abc,def},两个交易中没有重叠,但是聚簇{{abc,def}}和聚簇{{abc},{def}}有相同的高度1。另一个做法对这个例子更合适。我们可以用梯度G(C)=H(C)/W(C)=S(C)/W(C)2代替H(C)作为聚簇C的质量测度。.现在,聚簇{{abc},{def}}更好,因为其中两个聚簇的梯度都是1/3,大于聚簇{abcdef}的梯度1/6o为了定义聚类评估函数,,我们需要考虑每个聚簇的形状以及其中的交易数。对于聚类C={G,……,Ck},我们使用以下公式作为一个评估函数的直观定义。
工g(gjx|g|Profit(C)= 工囘^=l右疔(C),ZlQl1=1y■S(Q)右疔(C),ZlQl1=1y■S(Q)x|c|勺q1=1上式中,r是一个正实数二称为排斥因子,用来控制聚簇内的相似度等级。当r很大时,同一个聚簇内的交易必须共享大部分共同的项。 否则,将这些交易分到不同的聚簇中会得到更大的收益值。 例如,比较数据库{abc,abcd,bcde,cde}的两个聚类:⑴{{abcd,abcd,bcde,cde}},(2){{abc,abcd},{bcde,cde}}。为了聚类(2)得到更大聚类收益值,它的收益值7X2+—X24r4r4必须大于聚簇(1)的聚类收益值4这意味着必须使用一个大于In(14/7)/ln(5/4) 〜3.106的排斥因子。相反,可以使用小的排斥因子来分组稀疏数据。共享少量公共项的交易可能被放到相同的聚簇中。对于数据库{abc,cde,fhg,hij,},想要聚类{{abc,cde},{fgh,hij,}}的聚类收益值大于聚类{{abc},{cde},{fgh},{hij}}的〜1.357的排斥因子〜1.357的排斥因子现在,我们表述聚类交易数据的问题如下问题定义:给定D和r,找到一个聚类C使Profitr(C)最大。/*Please1・Initialization*/1:whilenotendofrhedatabasefile2: readthenexttraiisacTion(Lunknown);3: puttmanexistingchisteroranewclusteiGthatmaximizepiofir:4: XM'ite(tj)backtodatabase:/*Plii'ase2・Iteration*/'5:repeat6: remindthedatabasefile:7: moved=false:S: whilenotendofthedatabasefile9: read(A/);10: mo\'ertoanexistingclusterorne^-clusterqthatmaximizeprofit;11: ifC^e^then12: ™te</j);13: moved=true:14:untilnotmoved:Figure3.ThesketchoftheCLOPEalgorithuL图3.CLOPE算法的概要描述3、实现像绝大多数基于划分的聚类方法一样,我们通过迭代扫描数据库来趋近最佳的方案。然而,由于我们的评估函数是定义为全局的,函数中只有一些轻松可计算的测度,比如大小和宽度,方法的执行速度比局部方法快得多。我们的实现方案需要一个初次扫描数据库以构建初始聚类,由评估函数Profitr驱动。然后,需要通过多次扫描来完善聚类、优化评估函数。如果相比上一次扫描,聚类划分没有发生改变,算法将停止,最终聚类划分作为输出。输出是只是简单地为每条交易形成的整数标签,指明交易所属的聚簇 id。算法的示意图如图3所示。内存数据结构:在有限的内存空间里,我们对每一个聚簇仅仅保留当前交易和少量的信息。这些信息,称为聚簇特性,包括交易数量 N,不同项的项数(或宽度)W<项,出现次数>的哈希值OCC,和一个预先计算好的整数S来快速访问聚簇的大小。我们记C.occ[i]为聚簇C中项i出现的次数,以此类推。备注:事实上,CLOPE目当节约内存,甚至对于大多数交易数据库以数组形式表示出现的数据都是可行的。如果使用4字节的数组,项出现次数所需的总内存大约是M*K*4字节,M是维数,K是聚簇数。有着10K不同项、1K个聚簇的数据库可以装到40M的RAM聚类收益值计算:在添加或删除一条交易时更新簇特征很简单, 通过簇特征,使用每一个聚簇的S,W和N计算聚类收益值也很简单。算法中最花时间的部分(图3中的步骤3和步骤10)是比较添加交易到所有聚簇(包括空的聚簇)的不同收益。尽管计算聚类收益值需要对所有的聚簇的值进行求和, 我们可以使用当前正在测试簇的值变化来取得同样的值判断,这样更快。1:iutDeltaAdd(Ct.r){2: S_ne\v=C.S+LltemCount3: =C.W\4: for{i=0;/<tltentCoimt;i卄)5: if(C.oec[t,iterns[i]]=0)卄归nei":* r r6: return JV-1)/(Wjiew)-C.S^C.N/(C.W):7:} _ -Figure4.ComputingthedeltavalueofaddingttoC图4计算t加到C中后的变化值我们使用图4中的函数DeltaAdd(C,t,r)计算在增加交易t到聚簇C后USxC、N值的变化。以下的定理保证我们的实现方案的正确性。定理:如果DeltaAdd(C,t)是最大值,那么将t放到C中将会最大化Profitr。证明:观察profit函数的定义,我们发现,将t放到不同聚簇中的收益只会因为公式中分子的不同而不同。 假设在没添加t之前聚类profit的分子为X,从这些新分子中减去常数X,我们得到的恰好是函数DeltaAdd(Ci,t)返回的值。
时间和空间复杂度:从图4中,我们知道DeltaAdd函数的时间复杂度是O(t.ltemCount)。假设一个交易的平均长度是A,交易的总数是N,最大聚簇数为K,一次迭代的时间复杂度是O(NxKxA),表明CLOPE勺执行速度与聚簇数成线性关系,I/O代价与数据库大小成线性关系。既然任何时刻只有一个交易保留在内存中,CLOPE勺空间需求近似于聚簇特征的内存大小。它线性相关于最大聚簇数K值与维数M的乘积,对绝大多数交易数据库而言,这不是一个很大的开销。4、实验在本节中,我们用两个真实的数据集来分析 CLOPE勺有效性和执行速度。对于有效性,我们比较在标签数据集(UCI数据挖掘库中的蘑菇数据)上CLOP与Largeltem回和ROC[K三者的聚类质量。对于执行速度,我们在一个大型的网络日志数据集上对比CLOP罰LargeItem的执行速度。本节中的所有实验在128内存的PIII450Linux机器上进行。4.1蘑菇数据(MushRoom来自UCI机器学习数据库(/mlearn/MLRepository.html) 的蘑菇数据集已经被ROC!和LargeItem用于有效性测试。蘑菇数据集包含8124条记录,分为两类,4208份可食用蘑菇和3916份有毒蘑菇。通过将每个属性值处理为交易项,我们将所有的22个分类属性转换为具有116个不同项的交易。主茎属性的2480个缺省值在交易中被忽略。11ipurity♦no・clusterssussno0CooO4200000111864209000sussno0CooO4200000111864208000芒7000JQ-600050004000Figure5.TheresultofCLOPEonmushrooin.图5CLOPE算法在蘑菇数据集上的运行结果我们按0.1的增幅尝试了0.5到4之间所有不同的排斥因子,图5展示了一些结果。为了对聚类质量有一个一般印象,我们在图中用了两个测度。纯度通过累加每个聚簇中可食用蘑菇数和有毒蘑菇数中较大的得到的。 纯度有一个最大值为8124,它是交易的总数。既然一条交易作为一个聚簇的这个聚类肯定去的最大纯度,所以聚簇数应该尽可能的少,这样所有数据的聚类作为一个聚簇一定会得到最大的纯度。当r=2.6的时候,聚簇数是27,并且只有一个聚簇拥有混合记录:32个有毒蘑菇和48个可食用蘑菇(纯度=8092)。当r达到3.1时,得到完美分类的30个聚簇(纯度为8124)。这些结果中的大部分需要至多3次扫描数据库。当r=2.6的时候,这些聚簇的交易数为1到1726不等。上面的结果与ROC文献[7]中呈现的结果非常接近,在ROC文献中,给出的唯一结果是:21个聚簇中只有一个不纯的聚簇包含72个有毒蘑菇和32个可食用蘑菇(纯度=8092),支持度为0.8。考虑到ROC的二次方时间和空间复杂度,CLOPE勺结果让人非常惊喜。文献[13]中提出的Largeltem算法对蘑菇数据集上的聚类结果是通过递归聚类不纯的聚簇分层推导得到,并且不能直接比较。我们尝试实现LargeItem以得到直接结果,[13]中为LargeItem定义的评估函数为:CostffV(C)-wxIntra+Inter这里B是一个项在一个聚簇中为大项的最小支持百分比。Intra是所有聚簇中不同的小(不大)项数,Inter是重叠的大项数,它等于在所有的大项总数减去所有聚簇中不同的大项数,引入权重w用于控制Intra和Inter的不同重要性。LargeItem算法试图最小化迭代消耗。在我们的实验中,当使用默认值 w=1时,B取0.1到1之间的不同值(图6(a))都无法找到好的聚类划分。通过分析这个结果之后,我们发现对于所有的结果,都有一个Intra的最大值。我们增大w来使更大的Intra更有意义。当w达到10时,我们得到一个纯净的结果:58个聚簇,支持度为1。w=10的结果如图6(b)所示。
Ipuritv世BsnIOOC0-3 0.5minimums(3)weightSintra=114DIpuritv世BsnIOOC0-3 0.5minimums(3)weightSintra=114D120iooeBO善60^40E2D0(b)weightfor伽<i=10Fi^uie6.TheresutrofLargelcemouLniL^brooiiL图6Largeltem对蘑菇数据集聚类的结果在蘑菇数据集测试中,我们对蘑菇数据集的实验结果说明非常简单直观,具有线性复杂度的CLOP是非常有效的。CLOP算法对蘑菇数据集的聚类结果比Largeltem算法要好而且非常接近于ROC算法,但是ROC算法的复发度是交易数的二次项。通过与Largeltem算法的对比,还可以看出CLOPE算法背后简单的思想非常出色,甚至不需要对聚簇间的差异做任何明确的约束。数据顺序的敏感性:我们还用蘑菇数据集来测试CLOPE寸数据输入顺序的敏感性。图5和图6显示的结果都是由原始数据顺序得出的。我们使用随机顺序的蘑菇数据集对CLOPE进行测试。得出的结果有所不同,但是很接近原始数据的结果。最好的结果是在r取2.9时,纯度为8124,得到28个聚簇;最坏的结果在r取3.9时,纯度为8124,得到45个聚簇。这表明CLOPE寸于输入数据的顺序
是相当不敏感的。然而,对于随机顺序输入的蘑菇数据集, 我们的实验结果表明Largeltem算法对数据输入顺序比CLOPE更敏感。4.2Berkeley网络日志除了市场购物篮数据,网络日志数据是另一类典型的交易数据。我们选择/logs/ 网站的网络日志作为第二个实验的数据集,测试CLOPE勺扩展性和性能。我们使用2001年11月的网络日志数据,并且用[3]中提出的方法进行预处理。在原始日志文档中有将近700万个条目,将其中的非html条目删除后剩余200万条。在这200万个条目中,共有93,665个不同的页面。对用户标识使用了唯一可用的客户端 IP。在一个15分钟的会话的空闲时间内,613,555个会话被识别,平均会话长度是3.34。在可伸缩性测试中,我们设置最大聚簇数为100,分别对10%50唏口100%的会话运行CLOPEr=1.0,1..5,2.0)和LargeItem(9=0.2,0.6和1,w=1)。每次迭代平均运行时间如图7所示。0001<A 5<A 100%percentam色oftheinputdata-0001<A 5<A 100%percentam色oftheinputdata-total-612.:5c5e3;:riL;―Lar^elteaMiji5Epp=0.2_I—Larjalteta}[ijiZn[:p=I.6-•-LatE&It=niMinSupp^lC—♦—CLCPEr=l.C—■—CLCPEr=l.5M-CLCPEr=20OCOOOOS61*Figme二Theiudlud^timeofCLOPEaudLarveluinonthe
Beik*kyweblogdat^.图7CLOPE和LargeItem对Berkeley网络日志数据的运行时间从图7我们可以看到,CLOP和LargeItem的执行时间都与数据的大小成线性关系。对于非整型排斥因子,CLOP因为浮点数计算开销而运行得较慢。所有的结果都达到了允许的最大聚簇数, 除了当r=1时的CLOPE算法,此时,对整个会话文档只找到了30个聚簇。这就是能在小于一分钟的时间内能对整个数据集进行一次迭代如此快速的原因。Largeltem算法使用了两倍于CLOP内存空间存储特征数据,执行时间大约是CLOP算法的3-5倍。为了了解CLOP算法的有效性受噪声数据影响的情况,我们对11月份的会话数据,用r=1.5,聚簇数量最大值为1000运行CLOPE聚簇的结果按它们所含的交易数进行排序。表1展示了由CLOP发现的有20089条交易的最大聚簇(C1000,和其它两个高纯度的聚簇。这三个聚簇非常好,但是在许多其它的聚簇中,来自不同路径的页被分到了同一组。 其中的一些可能恰恰展现了一些公共的访问模式,其它的则可能是因为继承了网页日志的噪声。然而,Largeltem算法在实验中的结果并不是十分让人满意。表1CLOPE对日志数据(r=1.5)的一些聚类簇Table1.SomeclustersofCLOPEontli«logchra(1-1.5).-lazzarobooksingleindexhtml.oc<?=426■dazzaro.siindes^htnil.occ=332-lazzarosa.(kc=170-lazzarosabookindexhtml.occ=120-lazzaro.savideomdex.htiiil.occ=26■Jazzarosasfaruiusernetworkindexhtml,occ=^C81S:AM519tJT=^.5^1172-■niisellaum.hmil,occ=3SS*-ru$sellcodedochtinl.occ=231-russeUcodedoco\wnew.htmlocc=184-nissellcodedocuser.htmLocc=15S-mssellmtrohmil.occ=150-rus腿113ima-bibhtiuLocc=61 C1000:A^20089,11=2,5-22243Z±occ=19517泪tuden怜Classes-occ=2?26 *numberafterpagenameisrheoccurrenceinthecluster相关工作聚类大数据集的工作有很多,例如claraNS,bircH4],dbscAN,cliquE]等。它们中的绝大部分是为低维的数值型数据设计的,只有 CLIQUE是在较高维数据中找密集子空间的特例。最近,出现了许多聚类大型分类数据的工作。k-modd10]方法用到所有点的最小距离的矢量代表一簇分类值。在k-modes中,距离由两个点共享的公共分类属性数来测定。HANet.al[8]使用关联规则超图划分法对大型交易数据集中的项进行聚类。stirRT以及CACTUS也是将分类数据的聚类建模成超图划分问题,但是这些方法更适合由元组构成的数据库。 roCK对相似测度使用了两个交易之间的邻居数,但是计算的开销非常大,当扩展到大型数据集时不许采用抽样。与CLOP最相似的算法是Largeltem[13]。但是,我们的实验显示,CLOPE能够找到更好的聚簇划分,而且速度更快。同时, CLOP只需要一个参数一排斥因子,不熟悉专业知识的用户也能对结果聚簇数的近似值有很多控制。相比之下,Largeltem算法中的最小支持度B和权重w的值更难确定。我们对这两个算法的敏感性测试也显示了CLOPE对于数据输入顺序的敏感性弱于Largeltem算法。此外,许多对文档聚类的算法和交易数据聚类非常相关。在文档聚类中,每一个文档表示成其中单词的加权矢量。聚类也是通过优化一个确定的评估函数来进行的。然而,文档聚类倾向于对单词根据它们的出现频率假设不同的权值。 查阅[15]以了解一些常用的文档聚类算法。另外,交易数据聚类与关联分析[2】也有些相似。这两种流行的数据挖掘技术能够揭示一些在交易数据集中的项同时出现和关系方面的有趣性质。 此外,现在用于关联分析的方法[9]只需要少量的数据库扫描。但是,存在一些差异。一方面,聚类能够给出数据的一般综合性质,而关联分析只是发现最强的项同现模式。另一方面,关联规则是可直接进行的,而对大型交易数据的聚类是不足的, 并且大部分情况下用于其它数据挖掘任务,例如关联分析处理预处理阶段。总结本文提出了一种用于分类数据聚类的新型算法 CLOPE它是基于增加聚簇的直方图的高宽比这个直观思想设计的。这个思想用一个排斥因子参数控制聚簇中交易的紧密性,从而控制聚簇划分数,用这种方法进行泛化。 CLOPE勺简单思想使得这个算法对大型、稀疏、高维交易型数据库聚类时快速、可扩展,并且节省内存。我们的实验表明:即使没有明确指出聚簇间的差异测度, CLOP在发现有益聚簇时也非常有效。此外,CLOPE寸于数据顺序并不非常敏感,而且只要少量专业知识就能控制聚簇的划分数量。这些特性使得CLOPE是一个非常好的聚类算法,同时也是挖掘交易型数据例如市场数据和网页日志数据的预处理算法。鸣谢非常感谢RajeevRastogi和VipinKumar给我们提供了ROCK勺源码和[7]的技术报告版本。感谢UCIMLRepository和/网页日志文件的提供者。感谢[13]的作者们提供的帮助。三位匿名评阅者的评语对我们准备最后的版本也非常的珍贵。参考文献Agrawal,R.,Gehrke,J.,Gunopulos,D.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州应用科技学院《数字媒体声音设计》2023-2024学年第二学期期末试卷
- 楚雄医药高等专科学校《制药工程原理》2023-2024学年第二学期期末试卷
- 黑龙江省哈尔滨八中2025届招生全国统一考试(模拟)生物试题含解析
- 广州涉外经济职业技术学院《英语视听二》2023-2024学年第一学期期末试卷
- 景德镇陶瓷大学《现当代艺术》2023-2024学年第二学期期末试卷
- 云南民族大学《互换性与技术测量》2023-2024学年第一学期期末试卷
- 吉林建筑大学《生物信息与智能医学导论》2023-2024学年第二学期期末试卷
- 蚌埠工商学院《作自己的家庭医生》2023-2024学年第二学期期末试卷
- 保安证考试实践能力作答题及答案
- 南通理工学院《生物医药知识产权》2023-2024学年第二学期期末试卷
- 民宿整体规划
- 2024年广西区公务员录用考试《行测》真题卷及答案解析
- 电工(初级)考试试卷及答案
- 《建设工程施工合同(示范文本)》(GF-2017-0201)
- 国家电网公司招聘高校毕业生应聘登记表
- 施工服务方案
- 湖北省麻城市集美学校初中体育《短跑技术-终点冲刺跑》教案
- 中国结直肠癌诊疗规范(2023版)解读
- 2024年陕西省中考数学试题含答案
- 2024年国网河南省电力公司招聘历年高频500题难、易错点模拟试题附带答案详解
- 2024年清理化粪池协议书
评论
0/150
提交评论