Косинусное сходство — это мера сходства между двумя векторами пространства внутреннего произведения.
Для двух векторов, A и B, косинусное сходство вычисляется как:
Подобие косинуса = ΣA i B i / (√ΣA i 2 √ΣB i 2 )
В этом руководстве объясняется, как вычислить косинусное сходство между векторами в R с помощью функции cosine() из библиотеки lsa .
Косинусное сходство между двумя векторами в R
Следующий код показывает, как вычислить косинусное сходство между двумя векторами в 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
Косинусное сходство между двумя векторами оказывается равным 0,965195 .
Косинусное подобие матрицы в R
Следующий код показывает, как вычислить косинусное сходство между матрицей векторов:
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
Вот как интерпретировать вывод:
- Косинусное сходство между векторами a и b равно 0,9651950 .
- Косинусное сходство между векторами a и c равно 0,9812406 .
- Косинусное сходство между векторами b и c равно 0,9573478 .
Заметки
1. Функция cosine() будет работать с квадратной матрицей любого размера.
2. Функция cosine() будет работать с матрицей, но не с фреймом данных. Однако вы можете легко преобразовать фрейм данных в матрицу в R, используя функцию as.matrix() .
3. Обратитесь кэтой странице Википедии, чтобы узнать больше о сходстве косинусов.