【发布时间】:2020-01-01 16:48:20
【问题描述】:
这是一个想法:
有一个巨大的 2D 数据集(250,000 个数据点)。 我需要在不损害数据结构的情况下摆脱 90% 的数据点。这意味着(我相信)摆脱最接近的人。密度必须降低...
考虑到我们需要保留结构 - 我们不能随意删除 90%,因为这可能会导致偏差。这其中可能有一点随机元素,但不会太多。 我可以将数据放入二维矩阵并划分为单元格。然后一些单元格会有更多的数据点,有的单元格会更少,有的单元格没有。
我需要将这些数据点或矩阵中的单元格分组为段的算法,这些段中的数据点数量都相对接近。 “新”矩阵中的那些段或单元格可以是不同的大小(我相信这是这个算法的重点)。
我画了一幅画。它不准确,但我希望它会使想法更清晰。
我也用 python 编码:^)
谢谢!!
【问题讨论】:
-
可以搜索聚类方法(:
-
您正在寻找集群的质心,请参阅saedsayad.com/clustering_kmeans.htm 从质心展开到要保持在质心附近的前 K 个数据点。
-
为什么需要分组算法?如果您将域拆分为规则间隔的单元格,然后随机删除每个单元格中 90% 的点,这将减少您提到的偏差,而无需经过复杂的分组。
-
@IvanPopov 因为数据分布不均。它在 1 个单元格中有 4 个数据点,在另一个单元格中有 2000 个。如果我去掉 90%,它将在 1 个单元格中留下 1 个,在 2 个单元格中留下 200 个。这会改变比例......而且我不寻找聚类 - 我知道我在说什么。 :)
标签: python algorithm data-science segment