- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
为了使聚类成为一项更可行的任务,我想从数组中删除项目,如果它们有另一个项目在 n 维欧几里德空间中的某个阈值内。此截断的输入数据是像素级特征向量数组。我的第一个想法是计算所有项目之间的成对欧氏距离矩阵,然后对它们进行操作:
indices = list(range(len(X)))
dist_matrix = euclidean_distances(X,X)
index = 0
while True:
deletion = np.where(dist_matrix[index]<=threshold)[0]
indices = [i for i in indices if i==index or i not in deletion]
try:
index = indices[indices.index(index) + 1]
except IndexError:
break
dictionary = []
for index in indices:
dictionary.append(X[index])
但是,当使用 sklearn.metrics.pairwise.euclidean_distances 创建距离矩阵时,这会导致我的大型数据集出现内存错误。执行此操作的有效、内存保守的方式是什么?我已经意识到这个距离矩阵的计算是导致聚类算法出现问题的原因,所以我希望能够通过截断输入数组来避免计算这么大的距离矩阵。
最佳答案
根据维度数 n、点数 N、每个维度中问题的大小 L 以及您可接受的分隔距离 d,一种选择是将您的空间划分为维度 d 的框并最多保留每个网格框中的一个点。内存需求将从 O(N^2) 变为 O((L/d)^n),运行时间将从 O(N^2) 变为 O(N + (L/d)^n),因此如果 L/d 和 n 不太大,它可能会更有效。
或者,使用以下算法可能是实用的
for each point p in points
for each point q in points
if p <> q and p.dist(q) < Dmin
q.delete
这应该是 O(N^2) 的运行时间和 O(0) 的额外内存。
关于python - 如果向量在欧几里德空间中距离太近,则使用快速/内存保护方式从数组中删除向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39130072/
好吧,假设我有一堆光盘放在已知固定位置的飞机上。每个圆盘的半径为 1 个单位。该平面完全被一组圆盘覆盖,事实上,它被一组圆盘广泛覆盖,在某些区域覆盖了一两个数量级。我想找到仍然完全覆盖飞机的光盘子集。
我有一个涉及大量相关表的系统。考虑一个标准的类别/产品/订单/客户/订单项目场景。有些表是自引用的(如类别)。这些表都不是特别大(大约 10 万行,估计规模约为 100 万行)。我需要考虑这些数据的很
我正在学习 https://near.academy/near101/chapter-6 中的教程 其中一个步骤是运行此命令(但使用我的帐户): near call museum.testnet ad
我正在启动一个分析项目,该项目将处理数百万地理定位数据。数据可能是这样的: 编号{ 用户身份, 长, 纬度, 时间, 应用ID } 我的主要操作: 获取区域中包含的所有数据 找到属于某个userId的
在性能方面,JSON 解析需要大量时间来检索数据。在我的应用程序中,我需要从服务器获取近 10,000 条记录。在模拟器上,它立即获取数据并高效工作。但在我的 android 手机中,它需要超过2 分
任何人都可以帮助我从投影矩阵 44 获得左、右、下、上、近和远边界值吗? 最佳答案 这里是方程组的分辨率 Christian Rau引用: 对于正交矩阵: near = (1+m34)/m33;
我正在通过后台线程将 1,00,000 条记录插入到数据库中。此时,当我想要加载 Ui 屏幕时,出现内存不足错误。例如,当堆大小为 5 MB 且分配给后台线程的内存为 4 MB 时,加载 UI 屏幕需
C++如何存储近100000位的海量数字?.. 我试过使用 long long int 和 long double int..对我没有任何作用.. 有没有其他方法可以存储这么大的数字? 我希望找到大于
我是一名优秀的程序员,十分优秀!