【问题标题】:Distance metrics in Scikit LearnScikit Learn 中的距离度量
【发布时间】:2016-09-15 03:34:12
【问题描述】:

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

‘城市街区’

‘欧几里得’

‘l1’

‘l2’

‘曼哈顿’

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

在 Scikit Learn 中不是这样吗?不然为什么同一个东西用不同的名字?

【问题讨论】:

    标签: python scikit-learn distance euclidean-distance


    【解决方案1】:

    您的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 不受明确支持。

    【讨论】:

      猜你喜欢
      • 2015-10-30
      • 1970-01-01
      • 2016-03-12
      • 2015-09-16
      • 2012-02-15
      • 2012-06-22
      • 2015-11-25
      • 2019-11-12
      • 2017-06-09
      相关资源
      最近更新 更多