我正在查看Scikit Learn中针对成对距离实现的一些distance metrics。它们包括
'cityblock'
'euclidean'
'l1'
'l2'
“曼哈顿”
现在我总是假设(例如基于here和here)欧几里德与L2相同;和曼哈顿= L1 =城市街区。
Scikit Learn中不是这样吗?否则,为什么在不同的名称下有相同的东西?
答案 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
所以您的假设是正确的,因为cityblock
,manhattan
和l1
都在内部映射到pairwise.manhattan_distances
!
为什么有多个名字在使用? 因为来自不同背景的不同人对相同的想法使用不同的名称。
我确实认为,如果名称响铃(对我来说),我可以使用cityblock
而不需要自己建立cityblock == l1
如果cityblock
不是$watch
明确支持。