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.