Die Berechnung der ähnlichkeit zwischen zwei Listen

Ich würde gerne zur Berechnung der ähnlichkeit zwischen zwei Listen von verschiedenen Längen.

zB:

listA = ['apple', 'orange', 'apple', 'apple', 'banana', 'orange'] # (length = 6)
listB = ['apple', 'orange', 'grapefruit', 'apple'] # (length = 4)

wie Sie sehen können, ein einzelnes Objekt kann mehrere Male angezeigt in einer Liste, und die Längen sind in verschiedenen Größen.

Habe ich mir bereits gedacht vergleicht man die Frequenzen der einzelnen Elemente, aber das umfasst nicht die Größe der einzelnen Liste (eine Liste, die ist einfach zweimal, eine weitere Liste sollte ähnlich sein, aber nicht perfekt ähnlich)

eg2:

listA = ['apple', 'apple', 'orange', 'orange']
listB = ['apple', 'orange']
similarity(listA, listB) # should NOT equal 1

Also habe ich im Grunde wollen umfassen die Größe der Listen und die Verteilung der Elemente in der Liste.

Irgendwelche Ideen?

  • Das sind Listen, keine sets.
  • Durch similarity willst du damit erstellen Sie eine Dritte Liste enthält die Elemente, die in beiden listA und listB? so dass das Ergebnis in deinem Fall wäre ['apple', 'orange']?
  • durch die ähnlichkeit, die ich meine, einige Messen, wie ähnlich Sie sind. so ein Vergleich 2 identische Sätze (oder Liste) würde geben Ihnen einen score von 1 und 2 komplett unterschiedlichen sets geben würde, ist Sie null. diese Sätze sind allerdings von unterschiedlicher Größe, und enthalten sich wiederholende Elemente
InformationsquelleAutor kmace | 2013-02-06
Schreibe einen Kommentar