#1. INSTALACIÓN Y CARGA DE LIBRERÍAS (Ejecutar solo si no las
tienes) #
# install.packages(“arules”) # install.packages(“arulesViz”)
library(arules) library(arulesViz)
==============================================================================
2. CARGAR EL ARCHIVO “sesiones_spotify.csv”
==============================================================================
Primero leemos el archivo CSV normalmente, porque tiene dos
columnas:
ID_Sesion y Contenido.
datos <- read.csv(file.choose(), stringsAsFactors = FALSE)
Luego separamos la columna Contenido usando “|”, porque ahí están
los artistas/géneros.
El símbolo “|” debe escribirse como “\|” porque en R es un carácter
especial.
lista_contenido <- strsplit(datos$Contenido, “\|”)
Finalmente, convertimos esa lista en un objeto tipo
“transactions”,
Revisar un resumen rápido de lo que cargamos
summary(transacciones)
Visualizar los 10 artistas/géneros más frecuentes
itemFrequencyPlot(transacciones, topN = 10, type = “absolute”, col =
“springgreen3”, main = “Top 10 más escuchados”)
==============================================================================
3. EJECUTAR EL ALGORITMO APRIORI
==============================================================================
Ajustamos soporte a 0.01 (que aparezcan al menos en el 1% de
sesiones)
y confianza al 25% (0.25). Modifica estos números si salen muchas o
pocas reglas.
reglas <- apriori(transacciones, parameter = list(supp = 0.01,
conf = 0.25, minlen = 2))
Ver cuántas reglas logramos generar
summary(reglas)
==============================================================================
4. REVISAR E INTERPRETAR LOS RESULTADOS
==============================================================================
Ordenamos por ‘lift’ para ver las relaciones más fuertes y
significativas
reglas_ordenadas <- sort(reglas, by = “lift”, decreasing =
TRUE)
Mostrar en consola las 15 mejores reglas
inspect(head(reglas_ordenadas, 15))
——————————————————————————
——————————————————————————
reglas_bad_bunny <- subset(reglas, lhs %in% “Bad_Bunny”)
inspect(head(sort(reglas_bad_bunny, by = “lift”, decreasing = TRUE),
5))
==============================================================================
5. GRAFICAR LAS REGLAS (Para tu reporte de RPubs)
==============================================================================
Gráfico interactivo tipo red
plot(head(reglas_ordenadas, 20), method = “graph”, engine =
“htmlwidget”)
Gráfico de dispersión clásico
plot(reglas, method = “scatterplot”)