这项工作的目的是创建一个包含6436篇文章的文章推荐系统。
我们已经创建了余弦相似性矩阵,现在我们可以停止提供文章名称,搜索索引,并从余弦相似性矩阵中获取100个最大值。但由于我们的数据集会更大,我不想每次都在余弦相似性中搜索并将其保存在内存中。所以我决定使用NearestNeighbors
算法
因此,我得到了余弦相似矩阵并计算了距离矩阵
cosine_distance = np.sqrt(1 - scaled_cosin_sim_matrix)
并将KNN算法应用于余弦距离矩阵
from sklearn.neighbors import NearestNeighbors
KNN_distance = NearestNeighbors(n_neighbors=100, algorithm='kd_tree', metric= 'chebyshev')
KNN_distance.fit(cosine_distance)
通过直接从cos_相似矩阵中提取100篇相似文章,并使用knn,只有大约80篇是相交的。其余20个则不同
我不明白为什么最近的邻居并没有给出和我直接在余弦相似表中搜索得到的结果相同的结果
有没有一种方法可以应用KNN并得到与余弦相似矩阵中直接搜索相同的结果
目前没有回答
相关问题 更多 >
编程相关推荐