聚类分析的适用性

2024-05-19 15:20:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大量的对象,我计算出每对对象之间4%的差异。在

例如: O1和O2有差异:a12、b12、c12和d12,例如51、78、22、93。在

我希望标记“关闭”对象,它们之间的差异小于某个阈值。(我还不知道这4项措施有多重要。)

聚类分析是解决这个问题的合适方法吗?任何关于Python算法的指南和初学者的教程都会很有帮助。在


Tags: 对象方法标记算法指南阈值差异措施
1条回答
网友
1楼 · 发布于 2024-05-19 15:20:38

这可能不是一个聚类分析问题。在

最基本的区别是,您是按照某种连通性标准对所有点进行分组(这不是聚类),还是算法根据数据本身动态地确定聚类的标准(这是聚类)?

典型聚类分析的定义问题是,聚类定义仅基于数据。也就是说,算法在同一个进程中创建集群和这些集群的定义。或者,换句话说,当你开始聚类时,你给算法数据,但是你没有给它一个阈值。在

因为已经有了阈值,所以这并不是通常所说的集群。即使有多个阈值可供选择,也只需根据阈值的要求对数据进行分组,并对分组进行比较。在

这里的警告正是你所说的“门槛”的意思,以及你想如何应用它。如果你想找到所有建立一个小于某个阈值的连接点链的点,这不是聚类。相反,如果您希望阈值在点之间定义一个非线性度量,那么将应用常规的聚类算法(尽管使用非常不寻常的度量,因此这可能不是您想要的方法)。在

另一个需要注意的是,“集群”的含义可能不同,我认为我使用的是通常的数据分析定义,当然人们也会用其他方式使用这个词。例如,请参见scipy.cluster中的算法。在


至于采取什么方法,到目前为止你还没有描述足够的细节来回答这个问题。例如,是否要用中间值替换最近的对?或者跟随一条相连的邻居链?,等等。也许像aKDTree这样的东西对你很有用。在

相关问题 更多 >