为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python查找集群?

如何使用python查找集群?

慕无忌1623718 2021-03-20 11:08:59
我有一个点列表(x,y,pointNo),例如:[(344, 279, 0), (344, 276, 1), (342, 267, 2), (349, 259, 3), (348, 279, 4), (339, 268, 5), (343, 277, 6), (336, 275, 7), (344, 262, 8), (346, 269, 9), (279, 292, 10), (287, 287, 11), (278, 294, 12), (273, 294, 13), (280, 296, 14), (273, 291, 15), (287, 284, 16), (273, 292, 17), (273, 282, 18), (279, 296, 19), (210, 221, 20), (196, 230, 21), (191, 216, 22), (211, 221, 23), (192, 217, 24), (195, 230, 25), (192, 214, 26), (208, 225, 27), (206, 217, 28), (206, 224, 29), (176, 104, 30), (174, 114, 31), (180, 96, 32), (174, 103, 33), (171, 110, 34), (185, 114, 35), (179, 114, 36), (188, 100, 37), (183, 112, 38), (190, 115, 39), (274, 67, 40), (260, 62, 41), (264, 65, 42), (277, 78, 43), (274, 65, 44), (272, 75, 45), (260, 64, 46), (263, 68, 47), (259, 79, 48), (270, 64, 49), (344, 136, 50), (355, 129, 51), (344, 132, 52), (340, 122, 53), (348, 125, 54), (341, 136, 55), (343, 119, 56), (350, 136, 57), (348, 116, 58), (339, 135, 59), (213, 281, 60), (143, 211, 61), (125, 130, 62), (138, 241, 63), (350, 195, 64), (374, 189, 65), (362, 180, 66), (364, 187, 67), (375, 177, 68), (362, 187, 69), (364, 171, 70), (366, 180, 71), (366, 176, 72), (372, 178, 73), (366, 188, 74), (125, 132, 75), (125, 127, 76), (136, 140, 77), (120, 122, 78), (129, 134, 79), (124, 131, 80), (125, 138, 81), (128, 139, 82), (134, 124, 83), (123, 138, 84)]如何在不给出簇数的情况下将其搜索并划分为簇。我的第二个问题是如何获得每个群集的中心。我发现kmeans是一个不错的工具,但它需要提供簇数值。
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

1)要知道簇的数量,您必须定义一个阈值,该阈值将告诉算法两个元组必须相差多少才能被视为属于两个不同的组。例如,考虑这两组硬币:5美分和2美分,这样它们中的每一个都有不同的权重。假设您的算法基于这些硬币的权重对其进行聚类。可能发生的情况是,5美分的硬币不一定总是具有相同的重量(它们可能相差10毫克左右),因此您在这方面的门槛应灵活一些。但是,如果假设有两个硬币相差1克,那么它们肯定属于两个不同的组。但是,在您的情况下,您可以使用欧几里得距离来查找元组之间的差异。但是,设定阈值是一项非常具有挑战性的任务,并且可能需要大量有关问题域的知识。因此,您可以直观地尝试不同的阈值,直到看到令人满意的结果。

2)一旦设置了簇数,就可以找到它们的中心。群集的中心基本上是属于该群集的所有元素的平均值“ x”和“ y”值。如果您不知道哪些元素属于哪个群集,则可以先在2D空间中随机化群集中心,然后取最接近该中心的元素的平均值(x,y),以获得新的中心。这就是k-means所做的。


查看完整回答
反对 回复 2021-03-31
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

也许聚会晚了一点,但是在sklearn文档中有很好的聚类算法比较。也许有一种适合您的需求。


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信