具有相同簇大小的 K 均值算法变体

2023-12-10

我正在寻找最快的算法,用于按距离将地图上的点分组为大小相等的组。这k-均值聚类算法看起来简单且有前途,但不能产生同等规模的群体。

该算法是否有一种变体,或者是否有一种不同的算法可以允许所有集群的成员数量相等?

也可以看看:将 n 个点分组到 k 个大小相等的簇中


这可能会解决问题:应用劳埃德算法 to get k质心。按数组中相关簇的大小降序对质心进行排序。为了i= 1 至k-1,将数据点推送到簇中i到任何其他质心的距离最小j (i < jk) 前往j并重新计算质心i(但不要重新计算簇)直到簇大小达到n / k.

此后处理步骤的复杂度为 O(k² n lg n).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有相同簇大小的 K 均值算法变体 的相关文章

  • 生成 2D 中的非简并点集 - C++

    我想在 2D 平面中创建一大组非退化的随机点云 整个集合中没有 3 个点在一条直线上 我有一个简单的解决方案 它生成一个随机浮点对 P new x y 并检查到目前为止生成的每对点 P1 P2 是否位于同一行 这需要 O n 2 检查添加到
  • 分组符号最大长度平衡子序列

    将 B 视为分组符号 和 的序列 如果 B 的长度为 0 或 B 具有以下形式之一 则称 B 为平衡序列 X Y 或 X Y 或 X Y 其中 X 和 Y 本身是平衡的 平衡示例 现在的问题是找到一种有效的算法来找到给定输入的最大长度平衡子
  • .NET:ForEach() 扩展方法和字典

    我有一个简单的问题 我对 Dictionary Value 集合进行了大量迭代 令我烦恼的是 我必须调用 ToList 才能调用 ForEach 因为似乎没有一个可枚举集合Dictionary 字典本身 Keys集合或Values集合 有一
  • 将字典写入 csv 时遇到问题,其中键作为标题,值作为列

    我有一本字典 看起来像 mydict foo 1 2 bar 3 4 asdf 5 6 我正在尝试将其写入 CSV 文件 使其看起来像 foo bar asdf 1 3 5 2 4 6 我花了最后一个小时寻找解决方案 我发现的最接近的解决方
  • 如何在Python中比较列表列表中的元素以及比较列表列表中的键?

    我有以下顺序 seq ATG ATG ATG ATG GAC GAT GAA CCT GCC GCG GCA GCT 这是一个字典键 用于存储每个密码子的氨基酸值 三联碱基 例如ATG GCT etc aminoacid TTT F TTC
  • 根据键的重复值从列表中删除字典

    我是Python新手 假设我有以下字典列表 mydictList a 1 b 2 c 3 a 2 b 2 c 4 a 2 b 3 c 4 从上面的列表中 我想删除具有相同键 b 值的字典 所以结果列表应该是 mydictList a 1 b
  • 通过套接字发送包含文件的字典(python)

    是否可以通过套接字发送包含文件 图像或文档 作为值的字典 我尝试了类似下面的东西 但失败了 with open cat jpeg rb as f myFile f read 2048 data id 1283 filename cat jp
  • 加权图的 BFS 算法 - 寻找最短距离

    我看过很多帖子 即 post1 https stackoverflow com questions 30409493 using bfs for weighted graphs post2 https cs stackexchange co
  • 为什么 C++ 映射类型参数在使用 [] 时需要空构造函数?

    也可以看看C 标准列表和默认构造类型 https stackoverflow com questions 695372 c standard list and default constructible types 这不是一个主要问题 只是
  • 替换 Python 列表/字典中的值?

    好的 我正在尝试过滤传递给我的列表 字典并稍微 清理 它 因为其中有某些值我需要删除 所以 如果它看起来像这样 records key1 AAA key2 BBB key3 CCC key4 AAA 我如何快速轻松地运行所有内容并将 AAA
  • 计算总和等于 k ​​的子集数量

    给定一个数组 我们需要找出总和恰好等于给定整数 k 的子集的数量 请针对这个问题提出一个最佳算法 这里不需要实际的子集 只需计数即可 该数组由整数组成 可以是负数也可以是非负数 例子 数组 gt 1 4 1 10 5 绝对值总和 gt 9
  • 如何在大空间尺度上加速A*算法?

    From http ccl northwestern edu netlogo models community Astardemo http ccl northwestern edu netlogo models community Ast
  • 将 Python 字典中的键替换为唯一值

    a 0 PtpMotion 1 PtpMotion 2 LinMotion 3 LinMotion 4 LinMotion 5 LinMotion 6 LinMotion 7 LinMotion 8 LinMotion 9 PtpMotio
  • 大小为 n 的数组,其中一个元素 n/2 次

    给定一个由 n 个整数组成的数组 其中一个元素出现超过 n 2 次 我们需要在线性时间和恒定的额外空间中找到该元素 YAAQ 又一个数组问题 我有一种偷偷的怀疑 这类似于 在 C 中 We don t need an array publi
  • 将带有 **kwargs 错误的值线程化并传递给 TypeError

    我对 Python 还很陌生 并且正在通过这篇文章研究如何使用线程来处理某些代码 Python 使用线程或队列迭代调用函数的 for 循环 https stackoverflow com questions 12868956 python
  • 如何更新由基类的可变默认参数创建的属性,而不修改该参数? [复制]

    这个问题在这里已经有答案了 我发现新式类中的子类化和字典更新存在一个奇怪的问题 Python 2 6 2 r262 71605 Apr 14 2009 22 40 02 MSC v 1500 32 bit Intel on win32 gt
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • 高维数据的ELKI Kmeans聚类任务失败错误

    我有 60000 个文档 我在其中处理过gensim得到一个60000 300的矩阵 我将其导出为csv文件 当我导入这个时ELKI环境和运行Kmeans聚类 我遇到以下错误 Task failed de lmu ifi dbs elki
  • 模式识别算法

    过去我必须开发一个充当规则评估器的程序 你有一个先行词和一些后续词 动作 所以如果先行词评估为真 则执行的动作 当时我用的是修改版RETE算法 http en wikipedia org wiki Rete algorithm RETE 有

随机推荐