2
I’m trying to develop a recommendation system using the R language.
Basically, the system is music recommendation collecting information from a file where there is a certain amount of users and for each user, a count of times he has heard a certain artist.
library(tidyverse)
library(data.table)
library(recommenderlab)
dados <- fread("dadosTreinamento.txt", header = TRUE, sep = "\t", fill = TRUE) #Dados carregados em variável
names(dados)[2:3] <- c("IdArtist", "IdUser")
dadosGrupo <- group_by(dados, IdUser, IdArtist) #Agrupando os dados
dadosGrupo2 <- summarise(dadosGrupo, count = n()) #Gerando tabela com soma da quantidade de vezes que cada usuário ouviu determinado artista
dadosGrupo2 <- as.data.frame(dadosGrupo2) #Convertendo dadosGrupo2 para data.frame
matrizAfinidade <- as(dadosGrupo2, "realRatingMatrix") #Matriz real de dados
Rec.model<-Recommender(matrizAfinidade, method = "UBCF")
usuarios <- length(unique(dadosGrupo2$IdUser))
listaRecomendacoes <- list(length(usuarios))
for (i in 1:usuarios) {
itemRecomendado <- predict(Rec.model, matrizAfinidade[i,], n=5)
listaRecomendacoes[i] <- as(itemRecomendado, "list")
}
In this section the program generates the recommendation of 5 items for users.
However, when I try to visualize the recommendation through the command View(listaRecomendacoes)
, the system presents only the recommended items and where the user information for which the system recommended should be, there is only the word "Character", as can be seen in the figure below:
The user data file I’m using is at this link.
Thank you Jorge Mendes. Actually, adding only the brackets to the listRecommendations already worked!
– Mateus Dias