Tree 聚类树结构(通用方法)

Tree 聚类树结构(通用方法),tree,cluster-analysis,Tree,Cluster Analysis,我需要将一些树聚合成“相似”树的簇,但实际上我不知道如何定义两棵不同树之间的距离。对于聚类算法,我的第一个赌注是k-均值,但我不确定我的选择 我需要评估拓扑差异(树之间)和数据距离(每个节点都包含一个值,因此具有相同结构的两棵树可以具有不同的值,因此它们被认为是不同的) 我的问题与此非常接近: 但我不想对堆栈跟踪进行集群,而是一个真正的树,我不能做的是编写一个考虑到每个节点的布局和内容的距离函数。 我不是问哪个距离函数适合我的场景,而是问哪个模式适合实现这个目标。k-means需要计算平均值。

我需要将一些树聚合成“相似”树的簇,但实际上我不知道如何定义两棵不同树之间的距离。对于聚类算法,我的第一个赌注是k-均值,但我不确定我的选择

我需要评估拓扑差异(树之间)和数据距离(每个节点都包含一个值,因此具有相同结构的两棵树可以具有不同的值,因此它们被认为是不同的)

我的问题与此非常接近:

但我不想对堆栈跟踪进行集群,而是一个真正的树,我不能做的是编写一个考虑到每个节点的布局和内容的距离函数。
我不是问哪个距离函数适合我的场景,而是问哪个模式适合实现这个目标。

k-means需要计算平均值。你如何计算两棵树的平均数?我认为k-means是你最后的赌注。。。还有,你确定你在说什么吗?;-)严肃地说:你们需要一个距离来量化你们的应用程序的相似性。我有树来表示结构的层次结构。我需要比较两个结构是如何组织的,看看这两个结构是否相似(然后决定是否集群)。但实际上,我不知道我认为的聚类和树距离的最佳方法是哪一种,但我对这一建议持开放态度,这实际上取决于您的数据。没有通用的解决方案来量化树的相似性。适用于XML文档树的内容可能对您的数据毫无意义。例如,XML文档树在子文档之间有一个顺序。您能给我提供一些关于如何管理XML的示例或想法吗(这不是我的情况,但可能有助于理解这种情况)。在我的场景中,树是有序的,每个子级(和根)都有一个种类和一个值。我要做的是理解如何编写距离函数,或者是否有一些距离函数可以很好地处理一般情况。例如,我可以将树展平,然后使用Levenshtein列表之间的距离no:我不使用XML,而且我从来没有感觉到测量树的相似性的冲动。这是你自己真正需要弄清楚的事情,很抱歉。