So berechnen sie die kosinusähnlichkeit in r


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 = ΣA i B i / (√ΣA i 2 √ΣB i 2 )

In diesem Tutorial wird erklärt, wie man die Kosinusähnlichkeit zwischen Vektoren in R mithilfe der Funktion cosine() aus der lsa- Bibliothek berechnet.

Kosinusähnlichkeit zwischen zwei Vektoren in R

Der folgende Code zeigt, wie die Kosinusähnlichkeit zwischen zwei Vektoren in R berechnet wird:

 library (lsa)

#definevectors
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)

#calculate Cosine Similarity
cosine(a, b)

         [,1]
[1,] 0.965195

Die Kosinusähnlichkeit zwischen den beiden Vektoren beträgt 0,965195 .

Kosinusähnlichkeit einer Matrix in R

Der folgende Code zeigt, wie die Kosinusähnlichkeit zwischen einer Vektormatrix berechnet wird:

 library (lsa)

#define matrix
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)
c <- c(34, 35, 35, 36, 51, 29, 30, 31)

data <- cbind(a, b, c)

#calculate Cosine Similarity
cosine(data)

          ABC
a 1.0000000 0.9651950 0.9812406
b 0.9651950 1.0000000 0.9573478
c 0.9812406 0.9573478 1.0000000

So interpretieren Sie das Ergebnis:

  • Die Kosinusähnlichkeit zwischen den Vektoren a und b beträgt 0,9651950 .
  • Die Kosinusähnlichkeit zwischen den Vektoren a und c beträgt 0,9812406 .
  • Die Kosinusähnlichkeit zwischen den Vektoren b und c beträgt 0,9573478 .

Kommentare

1. Die Funktion cosine() funktioniert mit einer quadratischen Matrix beliebiger Größe.

2. Die Funktion cosine() funktioniert auf einer Matrix, jedoch nicht auf einem Datenrahmen. Mit der Funktion as.matrix() können Sie einen Datenrahmen jedoch problemlos in eine Matrix in R konvertieren.

3. Weitere Informationen zur Kosinusähnlichkeit finden Sie aufdieser Wikipedia-Seite .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert