Python Scikit学习中的距离度量
我在看Scikit Learn中实现的一些成对距离。包括 “城市街区” “欧几里得” “l1” “l2” “曼哈顿” 现在我总是假设(基于和)欧几里德和L2是一样的;曼哈顿=L1=城市街区 这在Scikit Learn中不是真的吗?否则,为什么同样的东西用不同的名字命名呢?你的名字会告诉你到底发生了什么。每个字符串都映射到一个内部函数Python Scikit学习中的距离度量,python,scikit-learn,distance,euclidean-distance,Python,Scikit Learn,Distance,Euclidean Distance,我在看Scikit Learn中实现的一些成对距离。包括 “城市街区” “欧几里得” “l1” “l2” “曼哈顿” 现在我总是假设(基于和)欧几里德和L2是一样的;曼哈顿=L1=城市街区 这在Scikit Learn中不是真的吗?否则,为什么同样的东西用不同的名字命名呢?你的名字会告诉你到底发生了什么。每个字符串都映射到一个内部函数 metric Function ‘cityblock’ metrics.pairwise.manhattan_distances ‘cosine’ met
metric Function
‘cityblock’ metrics.pairwise.manhattan_distances
‘cosine’ metrics.pairwise.cosine_distances
‘euclidean’ metrics.pairwise.euclidean_distances
‘l1’ metrics.pairwise.manhattan_distances
‘l2’ metrics.pairwise.euclidean_distances
‘manhattan’ metrics.pairwise.manhattan_distances
因此,您的假设是正确的,因为城市街区
,曼哈顿
和l1
都在内部映射到成对的曼哈顿距离
为什么使用多个名称?因为不同背景的人用不同的名字表达相同的想法
我确实认为,如果名字(对我来说)响了,我可以使用cityblock
,而不是需要自己联系cityblock==l1
如果cityblock
没有明确支持