Como calcular a similaridade de cosseno em r


A similaridade de cossenos é uma medida da similaridade entre dois vetores de um espaço de produto interno.

Para dois vetores, A e B, a similaridade de cosseno é calculada da seguinte forma:

Similaridade de cosseno = ΣA i B i / (√ΣA i 2 √ΣB i 2 )

Este tutorial explica como calcular a similaridade de cosseno entre vetores em R usando a função cosseno() da biblioteca lsa .

Semelhança de cosseno entre dois vetores em R

O código a seguir mostra como calcular a similaridade de cosseno entre dois vetores em R:

 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

A semelhança de cosseno entre os dois vetores é 0,965195 .

Similaridade de cosseno de uma matriz em R

O código a seguir mostra como calcular a similaridade de cosseno entre uma matriz de vetores:

 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

Veja como interpretar o resultado:

  • A similaridade de cosseno entre os vetores a e b é 0,9651950 .
  • A semelhança de cosseno entre os vetores a e c é 0,9812406 .
  • A semelhança de cosseno entre os vetores b e c é 0,9573478 .

Comentários

1. A função cosseno() funcionará com uma matriz quadrada de qualquer tamanho.

2. A função cosseno() funcionará em uma matriz, mas não em um quadro de dados. No entanto, você pode facilmente converter um quadro de dados em uma matriz em R usando a função as.matrix() .

3. Consulteesta página da Wikipedia para saber mais sobre similaridade de cossenos.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *