我有一组 10,000 个点,每个点由 70 个布尔维度组成。我想从这 10,000 个集合中选择 100 个点来代表整个 10,000 个集合。换句话说,我想选出彼此最不同的 100 个点。
有一些既定的方法可以做到这一点吗?我首先想到的是贪心算法,它首先随机选择一个点,然后选择下一个点作为距离第一个点最远的点,然后选择第二个点作为具有最长平均值的点与前两个的距离等。这个解决方案不需要完美,只要大致正确即可。最好,这个 100 分的解决方案也可以在大约 10 分钟内找到,但在 24 小时内完成也可以。
我并不关心距离,特别是,这只是我想到的捕捉“差异”的一种方式。
如果重要的话,每个点都有 10 个 TRUE 值和 60 个 FALSE 值。
一些已经构建的 Python 包来执行此操作将是理想的选择,但如果有人可以向我指出维基百科文章,我也很乐意自己编写代码。
墨色风雨
茅侃侃
相关分类