Die Kosinus-Ähnlichkeit ist ein Maß für die Ähnlichkeit zwischen zwei Vektoren eines inneren Produktraums.

Für zwei Vektoren, A und B, wird die Kosinus-Ähnlichkeit wie folgt berechnet:

Kosinus-Ähnlichkeit = ΣAiBi/(√ΣAi2√ΣBi2)

In diesem Tutorial wird erläutert, wie Sie die Kosinus-Ähnlichkeit zwischen Vektoren in Python mithilfe von Funktionen aus der NumPy-Bibliothek berechnen.

Kosinus-Ähnlichkeit zwischen zwei Vektoren in Python

Der folgende Code zeigt, wie die Kosinus-Ähnlichkeit zwischen zwei Arrays in Python berechnet wird:

from numpy import dot
from numpy.linalg import norm

# Arrays definieren
a = [23, 34, 44, 45, 42, 27, 33, 34]
b = [17, 18, 22, 26, 26, 29, 31, 30]

# Kosinus-Ähnlichkeit berechnen
cos_sim = dot(a, b)/(norm(a)*norm(b))

cos_sim

0.965195008357566

Die Kosinus-Ähnlichkeit zwischen den beiden Arrays beträgt 0,965195.

Beachten Sie, dass diese Methode für zwei Arrays beliebiger Länge funktioniert:

import numpy as np
from numpy import dot
from numpy.linalg import norm

# Arrays definieren
a = np.random.randint(10, size=100)
b = np.random.randint(10, size=100)

# Kosinus-Ähnlichkeit berechnen
cos_sim = dot(a, b)/(norm(a)*norm(b))

cos_sim

0.7340201613960431

Dies funktioniert jedoch nur, wenn die beiden Arrays gleich lang sind:

import numpy as np
from numpy import dot
from numpy.linalg import norm

# Arrays definieren
a = np.random.randint(10, size=90) #length=90
b = np.random.randint(10, size=100) #length=100

# Kosinus-Ähnlichkeit berechnen
cos_sim = dot(a, b)/(norm(a)*norm(b))

cos_sim

ValueError: shapes (90,) and (100,) not aligned: 90 (dim 0) != 100 (dim 0)

Anmerkungen

1. Es gibt mehrere Möglichkeiten, die Kosinus-Ähnlichkeit mit Python zu berechnen. Wie in diesem Stackoverflow-Thread erläutert, ist die in diesem Beitrag erläuterte Methode die schnellste.

2. Weitere Informationen zur Kosinus-Ähnlichkeit finden Sie auf dieser Wikipedia-Seite.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: