2024-06-28 20:54:07 发布
网友
我在研究Scikit Learn中为成对距离实现的一些distance metrics。它们包括
‘cityblock’ ‘euclidean’ ‘l1’ ‘l2’ ‘manhattan’
‘cityblock’
‘euclidean’
‘l1’
‘l2’
‘manhattan’
现在我总是假设(例如基于here和here)欧几里德与L2相同;而manhattan=L1=cityblock。在
在Scikit Learn中不是这样吗?否则,为什么同一件事用不同的名字?在
你的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和{}都在内部映射到pairwise.manhattan_distances!在
cityblock
manhattan
pairwise.manhattan_distances
为什么要使用多个名称?因为不同背景的人用不同的名字来表达同样的想法。
我确实认为,如果这个名字让我(对我来说)感到警钟的话,我可以使用cityblock,而不是需要自己来建立连接cityblock == l1if{}不受明确支持。在
cityblock == l1
你的link告诉你发生了什么事。每个字符串都映射到一个内部函数。在
所以您的假设是正确的,因为}都在内部映射到
cityblock
、manhattan
和{pairwise.manhattan_distances
!在为什么要使用多个名称?因为不同背景的人用不同的名字来表达同样的想法。
我确实认为,如果这个名字让我(对我来说)感到警钟的话,我可以使用}不受明确支持。在
cityblock
,而不是需要自己来建立连接cityblock == l1
if{相关问题 更多 >
编程相关推荐