【发布时间】:2016-08-31 00:35:22
【问题描述】:
这是这个问题的另一面:Cosine similarity yields 'nan' values。
在该主题中,作者自己编写了指标,但我使用 scipy 的余弦:(ratings 是 71869x10000)
A = ratings[:,100]
A = A.reshape(1,A.shape[0])
books_similarity = np.empty([1, ratings.shape[0]])
for book in range(10000):
books_similarity[0,book] = -cosine(A, ratings[:,book].reshape(1,A.shape[1]))+1
但它输出:0,一个 1(为自己)和 NaN。所以我之前提到的主题中的解决方案不适合我,因为我正在使用 scipy。我该怎么办?
P.S:然后我从数组中删除“1”并执行:
m = np.argmax(books_similarity)
books_similarity[0,m]
它返回“NaN”
P.S.S:首先,我有一个 pickle 文件,将其解码为 CSR,然后使用 numpy.我认为,我应该将所有内容都视为 np 数组,对吧?
【问题讨论】: