2016-05-18 4 views
0

Ich habe einige der distance metrics für paarweise Abstände in Scikit Learn implementiert. Dazu gehörenEntfernungsmetrik in Scikit Learn

'cityblock'

'euklidischen'

'l1'

'l2'

'Manhattan'

nun immer davon ausgegangen I (basierend zB auf here und here) das euklidische war das gleiche wie L2; und Manhattan = L1 = Stadtblock.

Ist das nicht in Scikit Learn? Sonst, warum haben wir dasselbe unter verschiedenen Namen?

Antwort

0

Ihre link sagt Ihnen genau, was vor sich geht. Jeder dieser Strings ist einer internen Funktion zugeordnet.

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 

So sind Ihre Annahmen richtig, wie cityblock, manhattan und l1 sind alle auf pairwise.manhattan_distances intern zugeordnet!

Warum werden mehrere Namen verwendet? Weil verschiedene Leute aus verschiedenen Hintergründen unterschiedliche Namen für die gleichen Ideen verwenden.

Ich glaube, es ist besser, dass ich cityblock verwenden kann, wenn der Name eine Glocke klingelt (für mich) statt, um die Verbindung von mir zu machen, dass cityblock == l1 wenn cityblock nicht explizit unterstützt wird.

+0

danke, sollte den doc sorgfältiger gelesen haben! – patrick

Verwandte Themen