我有两个np.ndarray
S,data
与形状(8000, 500)
和sample
与形状(1, 500)
。自动广播在SciPy的
我试图实现的是在data
到sample
之间的每一行之间测量各种类型的指标。
当使用from sklearn.metrics.pairwise.cosine_distances
我能够利用numpy
的广播中执行以下行
x = cosine_distances(data, sample)
但是当我试图用同样的方法,用scipy.spatial.distance.cosine
我得到了错误
ValueError: Input vector should be 1-D.
我想这是一个广播问题,我试图找到一种方法来解决它。
我的最终目标是遍历scipy.spatial.distance
中可用的所有距离,这些距离可以接受两个向量并将其应用于数据和样本。
如何复制在我的scipy
版本的代码中sklearn
的自动发生的广播?
尝试'x = cosine_distances(data,sample.reshape((500,)))' –
告诉我们更多关于各个函数接受哪些参数?他们必须解释什么时候他们接受2D数组和1D等。你甚至可以看他们的源代码,看他们如何检查和按摩输入。我也可以查看这些信息,但我太懒惰了。 :) – hpaulj
@PaulH没有工作:/ – bluesummers