如何解决在 knn 中使用自定义度量相似度查找相似用户
我已经指定方程来查找用户之间的相似性,我在数据框中得到结果,如图所示
我的问题是我如何使用 Knn 根据 similarity matrix 我尝试使用此代码来获得类似 Result 的内容,但出现错误,谁能帮助我
def custom(M,N):
distance = my equation
return distance
def findksimilarusers(user_id,weights='distance',metric=custom,k=k):
similarities=[]
indices=[]
model_knn = NearestNeighbors(metric = custom,algorithm = 'brute')
model_knn.fit(X)
distances,indices = model_knn.kneighbors()(X.iloc[user_id-1,:].values.reshape(1,-1),n_neighbors =
k+1)
similarities = 1-distances.flatten()
print ('{0} most similar users for User {1}:\n'.format(k,user_id))
for i in range(0,len(indices.flatten())):
if indices.flatten()[i]+1 == user_id:
continue;
else: print ('{0}: User {1},with similarity of {2}'.format(i,indices.flatten()[i]+1,similarities.flatten()[i]))
return similarities,indices
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。