数据挖掘中聚类算法和社团发现算法的联系和区别? 举报 理由 举报 取消 个人认为聚类的思想与社团发现的思想应该基本一致,但具体实现的时候不知道有何区别,如果没有区别又为何要提两个不同的概念? 2017年12月12日 3 条回复 1375 次浏览 数据挖掘,算法
回复 ( 3 )
联系:在一定意义上,社团发现就是一种类型的聚类,可以说是图聚类,图一般是稀疏的。
区别就在于:常见的聚类一般是假设任何对象之间都是连接的,只是距离(或者相似度)不同,比如划分、层次、密度聚类等,如果看作是一张图,那就是完全联通图,当然图聚类除外。
还有个区别就是:一般聚类是将数据集划分为k个不相交的子集,虽然也有些聚类算法是可以相交。而社区发现包括非重叠社区与重叠社区
我认为,两者的主要区别在于原始数据上。目前已经有人通过对图数据的处理(line graph)、编码,将普通的聚类算法应用到社团发现上(Link-LDA)。而且,目前大多数社团发现算法。利用模块度、中介度等概念进行社团发现。如果能把图的信息做一转化(编码等),利用现在普遍的聚类算法进行社团发现将会很有意义。
我认为是,聚类是散点,就是点和点之间都是可达的,可以计算任意两个点之间的距离或者相似性,而社团发现是图,点和点之间靠边来进行联系,任意两个点之间并不是可达的。但是这两者也极为相似,因此出现了很多将聚类算法改成社团发现的例子,如DBSCAN改成SCAN,层次聚类等等。