虽然我在ubuntu 14.04中运行此代码,但我想使用scipy.spatial.distance计算数组的余弦距离。但这使我在导入scipy.spatial.distance时出错。
symmin=@(x)feval(symengine,'min',x); % or
symmin=@(x)feval(symengine,'min',x(1:10));
a=1:10;
symmin(a)
error using mupadengine/feval (line 187)
Missing domain attribute 'min'.
它抛出此错误,
import numpy as np
import scipy
from scipy.spatial.distance import pdist
x=np.array([[[-0.22008298, 0.28819615, 0.09895946, 0.16789497, 0.02379252,
-0.25700486, 0.1628186, 0.12296761, 0.01750283]],
[[ 0.29891527, 0.17249978, -0.10084602, -0.16522293, 0.06811064,
0.07434326, -0.19697316, -0.22199543, 0.07647966]],
[[-0.04112297, 0.13392878, -0.06575392, 0.0893533, 0.22577047,
0.00289264, 0.09996213, 0.17324321, 0.08673526]]])
B =x.transpose(1,2,0).reshape(-1,x.shape[0])
print(B.shape)
print (B.ndim)
#array.astype(int)
print(B)
y=1-(pdist(B, metric='cosine'))
print(y)
我正在通过pip使用虚拟环境。 有人能帮我吗。预先感谢。
答案 0 :(得分:0)
pip install -U scipy
这将解决您的问题。我已经尝试过了,它为我做了。您可能会收到一个错误消息,说明scikit-learn没有正确安装。如果遇到该错误,则可以先运行:
pip install -U scikit-learn
,然后重新运行上面的代码。