Я скачал набор данных last.fm, который содержит пользователей и песни, которые они слушали.Я пытаюсь создать ассоциации, означает ли прослушивание одного автора прослушивание другого.
Набор данных от last.fm, есть 359349 пользователей и 292542 исполнителей.Сначала я строю логическую матрицу из столбцов пользователей и художников с помощью dMcast ().Затем преобразуйте в
Вот мой код:
library(data.table)
library(Matrix)
library(Matrix.utils)
library(magrittr)
library(arules)
col_names <- c(
"user_id",
"id2",
"artist",
"song"
)
last.fm <- fread("R/upworkR/Rex - association rules/lastfm-dataset-360K/usersha1-artmbid-artname-plays.tsv",
sep = '\t',
col.names = col_names,encoding = 'UTF-8')
last.fm$id1 <- as.factor(last.fm$id1)
(last.fm)
last.fm.matrix <- dMcast(last.fm, formula = user_id ~ artist)
last.fm.ngcM <- as(last.fm.matrix, "ngCMatrix") %>% as("transactions")
music.rules <- apriori(last.fm.ngcM, parameter = list(supp=0.0009, conf=0.3))
Я пробовал различную поддержку и уверенность, но он либо не генерирует никаких правил, либо возникает проблема с памятью.Я также сменил maxlen и maxtime без удачи.Вывод следующий:
Parameter specification: confidence minval smax arem aval originalSupport maxtime support minlen maxlen target ext
0.3 0.1 1 none FALSE TRUE 5 9e-04 1 10 rules FALSE
Algorithmic control: filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
Absolute minimum support count: 263
set item appearances ...[0 item(s)] done [0.00s]. set transactions ...[359349 item(s), 292542 transaction(s)] done [26.21s]. sorting and recoding items ... [0 item(s)] done [0.14s]. creating transaction tree ... done [0.02s]. checking subsets of size 1 done [0.00s]. writing ... [0 rule(s)] done [0.00s]. creating S4 object ... done [0.10s].