유사도 : 상관계수와 코사인
코사인 유사도를 구하기 위한 lsa 패키지 설치
install.packages('lsa')
library(lsa)
예제 데이터 생성하기
ex <- matrix(c(3,4,5,
1,2,3,
1,4,7,
3,4,5), byrow = T, nrow=4)
rownames(ex) <- c('u1', 'u2', 'u3', 'u4')
colnames(ex) <- c('i1', 'i2', 'i3')
ex
아이템별이 아닌 사용자별로 유사도를 구하기 위해 매트릭스의 행과 열을 바꾸기
ex <- t(ex)
사용자별 상관 계수 구하기
cor(ex)
사용자별 코사인 구하기
cosine(ex)
사용자 별로 자신의 평균 점수를 뺀 데이터 생성하기
ex2 <- ex
ex2[,1] <- ex2[,1] - 4
ex2[,2] <- ex2[,2] - 2
ex2[,3] <- ex2[,3] - 4
ex2[,4] <- ex2[,4] - 4
사용자별 상관 계수 구하기
cor(ex2)
사용자별 코사인 구하기
cosine(ex2)
사용자 별로 자신의 점수를 표준화한 데이터 생성하기
ex3 <- ex
ex3[,1] <- scale(ex3[,1])
ex3[,2] <- scale(ex3[,2])
ex3[,3] <- scale(ex3[,3])
ex3[,4] <- scale(ex3[,4])
사용자별 상관 계수 구하기
cor(ex3)
사용자별 코사인 구하기
cosine(ex3)
더 읽을 거리