span8
span4
我附加了两个工作区,它们使用了我下面概述的方法:
m1-greedy-clustering.fmw-这是用睦邻搜索器来查找近似值,然后通过跟踪以前集群中使用的点来构建集群。
m2-greedy-clustering.fmw-通过在簇锚周围生成voronoi细胞,然后使用单元格对这些点进行聚类。这使得这些点的分组更加紧凑。
通过邻域查找器找到邻域点后,使用ListElementCounter来计算半径内邻居的数量,然后用一个排序器按这个数字排序,下行。这就把相邻数最大的点放在第一位,这是一个很好的起点。
在第一点的副本上使用list爆炸性工具,然后使用VariableSetter创建名称为匹配点id、值为1的变量。也做第一个点的ID。这将作为使用点的列表。
当你检查后面的点时,您可以使用VariableRetriever检索以其ID命名的变量。如果得到1,那么这个ID已经在一个分组中使用了,应该跳过。您还需要分解匹配的列表,以查看是否已经使用了这些id,只保留不用的。测试后使用聚合器重新生成列表。
您可以使用邻居查找器和列表组合器(自定义转换器)来完成此操作
你好,所以我想我可以用Neighborfinder来得到每个点x距离内的所有点但是为了使工作流程更高效,亚搏在线我需要选择一个不属于集群的新点(步骤4)。你认为最好的方法是什么?谢谢。
我想我有点误解你的要求,如果你想要固定大小的集群,不是所有的特征都在一定的距离内。
你说从任意点开始然后选择任意点,但是您的示例选择了一个非常合理的起点。如果不考虑从哪里开始,我不确定你会得到最好的结果。我想这取决于你的最终要求是什么,您是否关心要覆盖所有点的集群数量最少?
你是100%正确的,不考虑从哪里开始就不可能得到最好的结果,但不幸的是,我没有任何属性可以用来添加一些逻辑。这个工作流的目标是找到包含最多点的集群。亚搏在线
©2019安全亚搏在线软件公司|法律