请问NearestNeighbors()中哪些与cosine相似且radius_neighbors()距离重复少的度量?
符合要求的度量方式
以下是Scikit-learn的NearestNeighbors类中,与cosine度量高度相似、且调用radius_neighbors()时距离重复较少的几种度量:
correlation(相关系数距离)
相关系数是中心化后的余弦相似度,当向量均值为0时,与余弦相似度完全等价。它聚焦向量的线性相关程度,和cosine一样核心关注方向一致性,相似性判断逻辑高度匹配。由于会纳入向量均值的影响,距离值的分布比纯cosine更分散,重复情况更少。归一化后使用
l2(欧氏距离)
先对所有输入向量做L2归一化(将向量缩放到单位长度),再指定metric='l2'计算距离。此时L2距离的平方与cosine距离满足严格数学关系:$d_{L2}^2 = 2 \times d_{cosine}$,二者单调相关,相似性判断完全一致。但L2距离的数值分布更连续,相比cosine距离,数值重复的概率更低。braycurtis(布雷柯蒂斯距离)
该度量适用于非负向量,计算公式为$\frac{\sum|x_i - y_i|}{\sum|x_i + y_i|}$,核心关注向量元素的比例关系,和cosine一样对向量缩放不敏感,相似性判断趋势高度重合。由于距离计算逻辑与cosine不同,数值重复的情况远少于cosine度量。
内容的提问来源于stack exchange,提问作者Fia Shofia Zahra
相关产品推荐
相关产品推荐

