{{cdbe}数组 例如: 我使用^{ 有没有更快的方法?理想情况下,我想为import numpy as np
from scipy.spatial.distance import cdist
A, B = np.random.rand(50,1000,10), np.random.rand(50,1000,10)
output = []
for day in range(50):
output.append(cdist(A[day],B[day]))
output
得到一个((day,observation,observation))
数组,它包含每天A
和{
编辑:我是个白痴,忘了python的
map
是懒洋洋地计算的。我的“更快”代码实际上没有做任何工作!强制评估消除了性能提升。在我认为你的时间将被scipy函数内的时间所支配。我将使用
map
而不是循环,因为我认为它更简洁一些,但我不认为有任何神奇的方法来获得巨大的性能提升。也许用cython或numba编译代码会有所帮助。在一种方法(虽然需要大量内存)是巧妙地利用阵列广播:
编辑
但是经过一些测试,似乎scikitlearn的^{} 可能是大型数组的最佳选择。(请注意,我已将您的循环重写为列表理解。)
每天100个数据点:
^{pr2}$这是每天2000个数据点:
相关问题 更多 >
编程相关推荐