2016-03-24 15 views
0

Angenommen, ich habe zwei Listen:Vergleichen zwei geordnete Listen für Ähnlichkeit

L1: [1,2,3,4] 
L2: [1,3,2,4,5] 

Wie kann ich berechnen die Ähnlichkeit zwischen zwei Listen Thesen?

Wenn diese beiden Listen gleich lang wären, scheinen Spearman und Kendall die Antwort zu sein, aber kann dieses Prinzip auch auf Listen unterschiedlicher Länge ausgedehnt werden?

+0

Sind sie immer zählt? Oder sind sie willkürliche Listen? – Memming

+0

Sind das numerische Listen? – nicoguaro

+0

Nein, sie sind Strings. Aber ich kann entweder einen SimHash ausführen, um eine Zahl zu erhalten oder Funktion I (string) -> int zu machen – JohnDoe

Antwort

2

Bioinformatik und Sprachanalyse Felder haben ähnliche Probleme. Sie können verschiedene Sequence-Kernel verwenden (siehe zum Beispiel Corinna Cortes) und edit distances.

2

Es scheint ein vielversprechender Algorithmus Ähnlichkeit einer Liste zu messen ist Spearman footrule Abstand http://people.revoledu.com/kardi/tutorial/Similarity/FootruleDistance.html oder mehr beteiligt und nehmen um der Tatsache Rechnung zu verwenden, kumulierte Gewinn abgezinst, DCG, https://www.kaggle.com/wiki/NormalizedDiscountedCumulativeGain.

Eine sehr gute Ressource zu diesem Thema ist

http://arxiv.org/pdf/1107.2691.pdf

und

http://theory.stanford.edu/~sergei/slides/www10-metrics.pdf

Verwandte Themen