我有一个2D矩阵,我想采取每行的规范.但是当我numpy.linalg.norm(X)直接使用时,它需要整个矩阵的范数.
我可以通过使用for循环然后取每个行的规范来获取每行的范数X[i],但是因为我有30k行所以需要很长时间.
有什么建议可以找到更快的方法吗?或者是否可以应用于np.linalg.norm矩阵的每一行?
当使用自定义距离度量函数进行聚类算法时,我遇到了性能瓶颈sklearn.
Run Snake Run显示的结果如下:

显然问题在于dbscan_metric功能.该功能看起来非常简单,我不太清楚加速它的最佳方法是:
def dbscan_metric(a,b):
if a.shape[0] != NUM_FEATURES:
return np.linalg.norm(a-b)
else:
return np.linalg.norm(np.multiply(FTR_WEIGHTS, (a-b)))
Run Code Online (Sandbox Code Playgroud)
任何关于导致它变慢的想法都会受到高度赞赏.