python - 对二维数组进行分组有什么好的启发式方法吗?
问题描述
我有一个要分组的二维数组。我可以将它分组到等间距的箱子中,但是我会有一些箱子只有一个数据点,而另一些箱子有 100 个数据点。是否有任何好的分组启发法(特别是对于 python)我可以做不相等大小的 bin 但包含大致相同数量的数据点?
对我来说最好的解决方案是包含最小和最大数据点数的 bin,这样我的分组就保持灵活。但是,我不知道从哪里开始制作这样的启发式方法。
解决方案
有时您可能想在 Google 上搜索array-partitioning
( rectangular-partitioning
) workload-partitioning
。
2d-case 已经是 NP-hard 的,但是有一些很好的算法,它们对于并行或分布式系统中的工作负载分区似乎非常重要。
不是 python,而是一个非常完整的库:SPart - Spatially located Workload Partitioner。
该页面上的资源可能会链接到该领域的更多研究。
推荐阅读
- html - 转换为链接时 HTML 文本消失
- json - 在 Visual Studio 代码中显示已安装主题的列表
- time-complexity - 摊销时间复杂度
- python - 基本的猜谜游戏没有按我想要的方式运行
- css - 在 scss 中为“url('assets/image.png)”编译错误
- r - Run all_simple_paths() for more than one names in from argument
- mongodb - $lookup 从嵌套数组中查找而不覆盖数组
- python-3.x - Python f格式打印语句换行不显示空格
- python - 使用递归函数计算列表元素的数量而不使用 len
- powershell - PowerShell 卸载 KB 5000802 或 808 需要提升的权限