Scikit Learn中的距离指标

时间:2016-05-18 14:50:32

标签: python scikit-learn distance euclidean-distance

我正在查看Scikit Learn中针对成对距离实现的一些distance metrics。它们包括

  

'cityblock'

     

'euclidean'

     

'l1'

     

'l2'

     

“曼哈顿”

现在我总是假设(例如基于herehere)欧几里德与L2相同;和曼哈顿= L1 =城市街区。

Scikit Learn中不是这样吗?否则,为什么在不同的名称下有相同的东西?

1 个答案:

答案 0 :(得分:0)

您的link会告诉您到底发生了什么。这些字符串中的每一个都映射到一个内部函数。

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

所以您的假设是正确的,因为cityblockmanhattanl1都在内部映射到pairwise.manhattan_distances

为什么有多个名字在使用? 因为来自不同背景的不同人对相同的想法使用不同的名称。

我确实认为,如果名称响铃(对我来说),我可以使用cityblock而不需要自己建立cityblock == l1如果cityblock不是$watch明确支持。