未知
dengraph的Python项目详细描述
dengraph执行基于密度的图聚类。 该算法是dbscan算法的一个扩展,用于支持重叠簇。 该方法基于节点的邻域。 邻域由给定distance内可到达节点的number定义。 因此,相互靠近的大型项组形成簇。 由于Dengraph是一种非分区方法,所以孤立的、不同的和不常见的项都没有被分类。 相反,它们被视为噪音。
快速概述
要使用dengraph对数据进行群集,需要两个步骤:
- 必须通过dengraph.graph.Graph接口提供数据。 有关适当的容器和示例,请参阅dengraph.graphs模块。
- 必须将图形馈送到dengraph.dengraph.DenGraphIO。
>>>fromdengraph.graphs.distance_graphimportDistanceGraph>>>fromdengraph.dengraphimportDenGraphIO>>># Graph with defined nodes, edges from distance function>>>graph=DistanceGraph(...nodes=(1,2,3,4,5,10,11,13,14,15,17,22,23,24,25,28,29,30,31),...distance=lambdanode_from,node_to:abs(node_from-node_to)...)>>># Cluster the graph>>>clustered_data=DenGraphIO(graph,cluster_distance=2,core_neighbours=3).clusters>>># And print clusters>>>forclusterinsorted(clustered_data,key=lambdaclstr:min(clstr)):...print(sorted(cluster))[1,2,3,4,5][11,13,14,15,17][22,23,24,25][28,29,30,31]
更多信息
现在,您必须参考模块和类文档。
- 有关群集设置的说明,请参见dengraph.dengraph.DenGraphIO。
- 有关图形接口的文档,请参见dengraph.graph.Graph。
有用类
我们为Graph接口提供了几种实现和工具:
- 通过dengraph.graphs.distance_graph.DistanceGraph
- 通过dengraph.graphs.adjacency_graph.AdjacencyGraph
- 通过dengraph.graphs.graph_io.csv_graph_reader
常见问题
为什么没有DenGraphHO类?
我们还没有实施那个计划。 这是我们的任务。
为什么没有DenGraph类?
原始的dengraph算法对于无序图是不确定的。 由于边界节点只能属于一个集群,因此第一个集群的结果取决于迭代顺序。 DenGraphIO算法不存在此问题,并且性能同样良好。
为什么DenGraphO和DenGraphIO是同一个类?
算法上,DenGraphIO基本上是DenGraphO加上插入/移除/修改节点/边的选项。 在静态情况下(只是初始化),两者是等价的。 目前,我们没有任何基于DenGraphO不变性的优化。 别名存在,以便应用程序能够区分两者,可能受益于未来的优化。
确认
本模块基于多个出版物:
- [1]T.Falkowski,A.Barth和M.Spiliopoulou,“密度图:基于密度的社区检测算法”,发表在IEEE/WIC/ACM国际网络智能会议(WI'07),2007年,第112-115页。
- [2]T.Falkowski,A.Barth和M.Spiliopoulou,“用增量图挖掘算法研究社区动力学”,AMCIS2008年学报,2008年。
- [3]N.Schlittle,T.Falkowski和J.L_ssig,“Dengraph Ho-基于密度的分层图聚类算法”,专家系统,第31卷,第5期,第469-479页,2014年。