Comment calculer la similarité cosinus dans R



La similarité cosinus est une mesure de la similarité entre deux vecteurs d’un espace produit interne.

Pour deux vecteurs, A et B, la similarité cosinus est calculée comme suit :

Similarité cosinus = ΣA i B i / (√ΣA i 2 √ΣB i 2 )

Ce tutoriel explique comment calculer la similarité cosinus entre les vecteurs dans R à l’aide de la fonction cosine() de la bibliothèque lsa .

Similitude cosinus entre deux vecteurs dans R

Le code suivant montre comment calculer la similarité cosinus entre deux vecteurs dans R :

library(lsa)

#define vectors
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

La similarité cosinus entre les deux vecteurs s’avère être 0,965195 .

Similitude cosinus d’une matrice dans R

Le code suivant montre comment calculer la similarité cosinus entre une matrice de vecteurs :

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)

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

Voici comment interpréter le résultat :

  • La similarité cosinus entre les vecteurs a et b est 0,9651950 .
  • La similarité cosinus entre les vecteurs a et c est 0,9812406 .
  • La similarité cosinus entre les vecteurs b et c est 0,9573478 .

Remarques

1. La fonction cosine() fonctionnera avec une matrice carrée de n’importe quelle taille.

2. La fonction cosine() fonctionnera sur une matrice, mais pas sur une trame de données. Cependant, vous pouvez facilement convertir un bloc de données en matrice dans R en utilisant la fonction as.matrix() .

3. Reportez-vous àcette page Wikipédia pour en savoir plus sur la similarité cosinus.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *