SlideShare una empresa de Scribd logo
’T´ecnicas de Miner´ıa de Datos para el
an´alisis de la informaci´on de las redes
sociales. El caso de Last.FM.’
Rub´en Afonso Francos
16 de Septiembre de 2011
Directora:
Prof. Dra. Susana San Mat´ıas Izquierdo
Departamento de Estad´ıstica e Investigaci´on Operativa Aplicadas y
Calidad
Universidad Polit´ecnica de Valencia
Master Universitario en An´alisis de Datos, Mejora de Procesos y Toma de
Decisiones
2
Resumen
La miner´ıa de datos es una disciplina que goza de buena salud desde hace a˜nos, vinculada
principalmente a la extracci´on no trivial de informaci´on con fines comerciales a partir de
fuentes de datos de diversa naturaleza.
En el mundo empresarial la miner´ıa de datos ha estado tradicionalmente ligada a las
´areas encargadas de mantener la relaci´on con el cliente final, la detecci´on de patrones
de fuga, fraudes y la gesti´on de recursos humanos de la propia empresa. Precisamente
esta consolidaci´on ha hecho que en la actualidad sea un campo que hace uso de t´ecnicas
estad´ısticas ampliamente documentadas, en constante evoluci´on y aplicaci´on a nuevos
campos del conocimiento. Hoy en d´ıa, el aumento de la cantidad de informaci´on que se
produce y trasmite a diario ha hecho que la miner´ıa de datos en particular, y las t´ecnicas de
an´alisis de datos en general, cobren especial importancia como herramienta para obtener
informaci´on de alto valor estrat´egico a partir de grandes vol´umenes de datos, muchas
veces obtenidos de fuentes externas a la propia empresa.
El auge de las redes sociales en los ´ultimos a˜nos ha hecho que cada vez sea m´as
frecuente hacer uso de este tipo de informaci´on con fines comerciales, ya que a menudo
suele estar disponible de forma masiva y a un coste muy bajo o nulo, permitiendo, por
ejemplo, el estudio de los h´abitos de consumidores potenciales, la elaboraci´on de perfiles
de usuario o la estimaci´on del impacto al lanzar al mercado un determinado producto.
El potencial de la miner´ıa de datos aplicada a las redes sociales es evidente. Sin embargo
hasta ahora ´estos han sido campos que han evolucionado de forma paralela. El estudio
de las redes sociales parece estar muy ligado sin embargo a las nuevas tendencias en
visualizaci´on de datos, que han permitido analizar las mismas desde un punto de vista m´as
intuitivo y entender mejor su din´amica y evoluci´on (de por s´ı complejas). Los estudios
sobre redes sociales en la actualidad muchas veces se limitan a an´alisis descriptivos muy
someros que no hacen uso del potencial que ofrecen las t´ecnicas estad´ısticas tradicionales
de an´alisis de datos, desaprovechando la oportunidad de obtener resultados m´as robustos
que permitan una mejor toma de decisiones.
En nuestro trabajo proponemos el estudio de Last.fm, una red social especializada en
contenidos musicales, con el fin de analizar los perfiles de usuarios y obtener informaci´on
a priori dif´ıcil de estimar como puede ser el grado de aceptaci´on de un nuevo artista, o
la determinaci´on del p´ublico objetivo para un determinado g´enero musical, cuestiones de
inter´es dentro de la industria discogr´afica. Para este estudio recurrimos a las herramientas
de mineri´a de datos tradiciones y sugerimos una posible metodolog´ıa a utilizar en sistemas
de recomendaci´on basados en etiquetas, la elaboraci´on de las llamadas dimensiones.
3
Declaraci´on
Declaro que esta Tesis de M´aster ha sido realizada por mi, que todo el trabajo contenido
es m´ıo a menos que se indique lo contrario en el texto y que este documento no ha sido
utilizado para la obtenci´on de ning´un otro t´ıtulo o reconocimiento acad´emico.
Rub´en Afonso Francos,
Valencia 16 de Septiembre de 2011
4
´Indice
Resumen 3
1. Introducci´on 9
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Motivaci´on y Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3. Metodolog´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Miner´ıa de Datos 14
2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. El proceso de miner´ıa de datos . . . . . . . . . . . . . . . . . . . . . . . 16
2.3. Evoluci´on hist´orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. M´etodos estad´ısticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5. An´alisis Cl´uster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1. Determinaci´on del n´umero de clusters . . . . . . . . . . . . . . . 21
2.5.2. Representaci´on Silhouette . . . . . . . . . . . . . . . . . . . . . 22
2.5.3. Algoritmo K-medias . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5.4. Algoritmo PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.5. CLARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.6. Clustering jer´arquico . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6. An´alisis de Componentes Principales . . . . . . . . . . . . . . . . . . . . 31
2.7. Reglas de asociaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.8. CART / Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3. Redes Sociales 36
3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2. Estructuraci´on de los datos: tags . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Sistemas de Recomendaci´on Musical . . . . . . . . . . . . . . . . . . . . 38
3.3.1. El problema de la recomendaci´on . . . . . . . . . . . . . . . . . 38
3.3.2. M´etodos de recomendaci´on musical . . . . . . . . . . . . . . . . 39
3.3.3. Recomendaci´on musical basada en dimensiones . . . . . . . . . . 42
4. El caso de Last.FM 44
4.1. Obtenci´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2. Datos iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5
4.4. Descripci´on del modelo de datos . . . . . . . . . . . . . . . . . . . . . . 49
4.4.1. An´alisis descriptivo de los datos de tags y artistas . . . . . . . . . 50
4.4.2. Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5. Obtenci´on de las dimensiones de los artistas . . . . . . . . . . . . . . . . 55
4.5.1. Reducci´on de la dimensionalidad en el conjunto lm-artistas . . . . 55
4.6. Clustering de artistas y definici´on de perfiles . . . . . . . . . . . . . . . . 61
4.7. Predicci´on del n´umero de escuchas . . . . . . . . . . . . . . . . . . . . . 63
4.7.1. Elaboraci´on de las dimensiones de los usuarios . . . . . . . . . . 63
4.7.2. Modelo Predictor . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.8. Predicci´on del inter´es del usuario . . . . . . . . . . . . . . . . . . . . . 67
5. Conclusiones y Trabajo Futuro 73
Bibliograf´ıa 75
Ap´endice 77
A. Conjunto de tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
B. Detalle del clustering jer´arquico de tags . . . . . . . . . . . . . . . . . . 79
C. Correlaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6
´Indice de figuras
2.1. Disciplinas de la miner´ıa de datos . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Etapas en el proceso de la miner´ıa de datos . . . . . . . . . . . . . . . . 16
2.3. Ejemplos de gr´aficos Silhouette . . . . . . . . . . . . . . . . . . . . . . . 23
2.4. Ejemplo de K-medias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. Ejemplo de PAM sobre el conjunto Iris . . . . . . . . . . . . . . . . . . . 27
2.6. Cluster jer´arquico (aglomerativo, distancia de Ward) del conjunto Iris . . 29
2.7. Gr´afico de Scores y Loadings resultantes del PCA sobre el conjunto Iris . 32
3.1. Proceso de elaboraci´on de las dimensiones de los usuarios . . . . . . . . . 42
4.1. Modelo L´ogico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. (1) Frecuencia de cada tag por su ID. (2) N´umero de tags para cada artista 50
4.3. Frecuencia de la variable Sexo . . . . . . . . . . . . . . . . . . . . . . . 51
4.4. Distribuci´on de la variable edad . . . . . . . . . . . . . . . . . . . . . . . 51
4.5. Frecuencias del atributo Pa´ıs. Se muestran los 30 primeros pa´ıses con m´as
usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.6. Frecuencias por categor´ıas del atributo Pa´ıs . . . . . . . . . . . . . . . . 53
4.7. Distribuci´on de la variable logins de los usuarios recogidos en el conjunto
de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.8. Distribuci´on de la variable hits de los usuarios del conjunto de datos. . . . 55
4.9. Evoluci´on del coef. Silhouette al aplicar PAM sobre el cjto de tags . . . . 56
4.10. Silhouette de PAM(k=2) sobre los tags . . . . . . . . . . . . . . . . . . 57
4.11. Gr´afico de scores PCA del conjunto de tags . . . . . . . . . . . . . . . . 58
4.12. Variabilidad explicada en el PCA por cada componente . . . . . . . . . . 59
4.13. Clustering jer´arquico de los tags . . . . . . . . . . . . . . . . . . . . . . 60
4.14. Silhouette del agrupamiento de los 100 artistas m´as referenciados . . . . 62
4.15. Errores de validaci´on MAPE para diferentes par´ametros de la red neuronal. 66
4.16. Esquema de la red neuronal utilizada para predecir no
de escuchas de un
artista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.17. Distribuci´on de las audiciones para Pink Floyd . . . . . . . . . . . . . . . 68
4.18. Distribuci´on de las audiciones para los 100 artistas m´as populares . . . . 69
4.19. Distribuci´on del valor mediana para las medianas de los 100 artistas m´as
populares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7
´Indice de cuadros
3.1. 12 tags m´as utilizados para Coldplay . . . . . . . . . . . . . . . . . . . 41
4.1. Conjunto de datos lm-artistas . . . . . . . . . . . . . . . . . . . . . . . 45
4.2. Conjunto de datos lm-usuarios . . . . . . . . . . . . . . . . . . . . . . . 46
4.3. Volumen de datos en lm-usuarios . . . . . . . . . . . . . . . . . . . . . 46
4.4. Volumen de datos en lm-artistas . . . . . . . . . . . . . . . . . . . . . . 46
4.5. Recodificaci´on del atributo Edad . . . . . . . . . . . . . . . . . . . . . . 48
4.6. Recodificaci´on del atributo Pais en regiones geogr´aficas . . . . . . . . . . 48
4.7. Estructura de datos resultante . . . . . . . . . . . . . . . . . . . . . . . 50
4.8. Dimensiones de los artistas, obtenidas a partir del clustering jer´arquico de
los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.9. Reglas de asociaci´on de los tags en cada cluster . . . . . . . . . . . . . . 63
4.10. Conjunto de datos lm-gustos . . . . . . . . . . . . . . . . . . . . . . . 64
4.11. Valores utilizados para los par´ametros de la red neuronal . . . . . . . . . 65
4.12. Errores obtenidos tras construir la red neuronal . . . . . . . . . . . . . . 67
4.13. Matriz de confusi´on de random forest sobre el conjunto de datos de en-
trenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.14. Matriz de confusi´on de random forest sobre el conjunto de datos de testeo 71
4.15. Resultados de la validaci´on de random forest . . . . . . . . . . . . . . . 72
5.1. Tags del conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2. Correlaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8
Cap´ıtulo 1
Introducci´on
En los ´ultimos a˜nos la miner´ıa de datos ha experimentado un resurgimiento debido a
las necesidades por parte de las empresas e instituciones de dar sentido y valor a˜nadido a
los grandes vol´umenes de datos que se generan diariamente como fruto de su actividad.
El aumento de la informaci´on en nuestra sociedad ha dado fruto a la creaci´on de grandes
conjuntos de datos que debido a su extensi´on dificultan el procesamiento y el an´alisis de la
informaci´on mediante m´etodos cl´asicos de tratamiento de datos. La b´usqueda de patrones,
relaciones, reglas y asociaciones ´utiles que aporten informaci´on relevante o conocimiento
para el proceso de toma de decisiones se ha revelado como una importante herramienta de
retroalimentaci´on que permite mejorar tanto a nivel empresarial como a nivel institucional.
El aumento de las prestaciones de los equipos inform´aticos tambi´en ha contribu´ıdo a
popularizar las t´ecnicas de an´alisis de datos, pudi´endose llevar a cabo e implantar dentro
de la cadena de producci´on con costes admisibles para las empresas.
En la actualidad, la expansi´on de Internet y las redes sociales ha hecho que las t´ecni-
cas de miner´ıa de datos cobren un valor a˜nadido al permitir recopilar informaci´on que se
encuentra disponible p´ublicamente y de forma gratuita en muchas redes sociales y que
permite inferir conclusiones sobre los usuarios de las mismas. Dicha informaci´on puede ir
desde simples estad´ısticas de uso hasta patrones de conducta o consumo, ambos de alto
valor para empresas de marketing, a coste pr´acticamente cero, ya que los datos muchas
veces son f´acilmente recopilables de forma automatizada, e incluso un gran n´umero de re-
des proporcionan medios e incentivan el tratamiento y estudio de sus datos, generalmente
mediante un sistema API 1
.
La informaci´on contenida en las redes sociales puede ser utilizada para elaborar sistemas
de recomendaci´on, cuyo fin ´ultimo es proporcionar predicciones sobre un usuario a partir de
los datos existentes de otros usuarios (Costa[12]). Con la difusi´on de Internet y el comercio
electr´onico, grandes compa˜nias como Amazon o Netflix han elaborado sus propios sistemas
de recomendaci´on espec´ıficos para los diferentes tipos de actividades que desempe˜nan,
siendo uno de ellos los sistemas de recomendaci´on musicales, especializados en sugerir
nuevos artistas. Como paso previo a la recomendaci´on, en estos sistemas suele existir una
fase de clasificaci´on, en la que el usuario es previamente clasificado dentro de un cierto
grupo atendiendo a su historial en el sistema. Una vez ubicado dentro de un cierto perfil,
se realiza la fase de recomendaci´on propiamente dicha donde interviene nuevamente la
1
API: application programming interface
9
informaci´on sobre los gustos del usuario, pero tambi´en los gustos de usuarios similares
(Celma[13]).
1.1. Antecedentes
Sorprendentemente, los trabajos relacionando el campo de la miner´ıa de datos con el
estudio de las redes sociales hasta la actualidad son escasos.
Si realizamos una b´usqueda mediante Google Scholar 2
durante los ´ultimos a˜nos las
publicaciones sobre miner´ıa de datos y redes sociales ascienden a 35 publicaciones en
el a˜no 2010. En cambio, el n´umero de ar´ticulos publicados el mismo a˜no relacionados
con las redes sociales lleg´o hasta los 1634. De hecho, el an´alisis de redes sociales (SNA
por sus siglas en ingl´es) es una disciplina con una larga trayectoria y objeto de continua
investigaci´on. De forma similar, los articulos publicados en el a˜no 2010 sobre miner´ıa de
datos sobrepasaron los 2300.
Ambas son disciplinas de actualidad que hoy en d´ıa se han visto impulsadas por el auge
de Internet y la ubicuidad de los sistemas de informaci´on.
Esto nos indica que efectivamente parece existir un vac´ıo en las publicaciones que ven
la luz vinculando estos dos campos. Sin embargo, parece ser que las investigaciones sobre
el uso de la informaci´on contenida en redes sociales contin´ua de forma privada (y por lo
tanto no publicada) en campos dispares como la investigaci´on de mercados 3
, instituciones
bancarias 4
, e incluso como parte de programas de inteligencia gubernamentales 5
.
Entre las primeras referencias al uso de la miner´ıa de datos aplicada a redes sociales
se encuentra el trabajo de Richards y Higgins[14] en el a˜no 2001, donde los autores ya
expon´ıan que las t´ecnicas utilizadas hasta el momento para la visualizaci´on de grandes
conjuntos de datos eran insuficientes cuando se dispone de un gran volumen de informa-
ci´on.
Posteriormente aparecieron nuevos trabajos sobre miner´ıa de datos en diferentes ´ambitos,
destacando algunos ligados al estudio de redes sociales para la obtenci´on de informaci´on
vinculada a la seguridad gubernamental (Liu et al.[15], COPLINK[17]) as´ı como a los prob-
lemas de privacidad derivados del uso de dichas t´ecnicas en redes sociales (Kleinberg[16]),
que indican la tendencia de las primeras investigaciones.
No fue hasta hace pocos a˜nos, alrededor de 2008/2009, cuando la masa de usuarios de
las redes sociales alcanz´o el volumen suficiente como para ser vista como un fen´omeno im-
portante con doble valor a˜nadido. Por un lado los usuarios de las redes sociales comenzaron
a ser considerados como posible objetivo comercial de las campa˜nas de marketing, lo que
contribuy´o a comenzar a estudiar dichas redes, y por otra parte, el conocimiento derivado
de las mismas empez´o a utilizarse para fines comerciales en entornos externos a las redes
2
buscando art´ıculos que tengan las siguientes palabras en el t´ıtulo: mining social network
3
http://www.tomhcanderson.com/2010/01/29/data-mining-and-social-media-in-market-research-
interview/
4
http://rbach.net/blog/index.php/banks-and-bosses-using-social-media-to-assess-risk/
5
White House Seeks to Capture Citizens Comments http://www.cnsnews.com/news/article/53363
10
sociales, utiliz´andolas como fuente de informaci´on para entender el comportamiento de
los consumidores de la sociedad en s´ı.
De los diferentes tipos de redes sociales, hasta la actualidad uno de los menos estudia-
dos son las redes sociales centradas en la m´usica; siendo LastFM la principal de ellas por
n´umero de usuarios. Existen algunos trabajos recientes que han estudiado LastFM, en con-
creto la informaci´on etiquetada asociada a los artistas (los llamados tags) (Douglas[18],
Robert et al.[19]), as´ı como la forma en que esta red social refleja el panorama musical
actual (Chen et al.[20]).
El aumento en el n´umero de usuarios de LastFM ha inspirado algunos art´ıculos sobre
c´omo aprovechar dicha informaci´on para construir mejores sistemas de recomendaci´on en
tiendas online (Costa[12], L´opez y Rodr´ıguez[21]), o para elaborar sistemas que sugieran
artistas emergentes, que de otra forma pasar´ıan desapercibidos a los usuarios (Celma[13]).
1.2. Motivaci´on y Objetivos
En la actualidad, la gran mayor´ıa de estudios aplicados a redes sociales se basan en
an´alisis descriptivos, muchas veces haciendo uso de t´ecnicas de visualizaci´on de datos, que
si bien presentan ciertas ventajas frente a las t´ecnicas estad´ısticas y facilitan la comprensi´on
de las redes, en ocasiones son insuficientes para interpretar en profundidad la informaci´on
contenida en las mismas, sobre todo cuando el volumen de datos es muy grande.
El objetivo de nuestro trabajo es aplicar las t´ecnicas de miner´ıa de datos tradicionales
en un entorno nuevo como son los conjuntos de datos procedentes de redes sociales.
Estos datos, por provenir de este tipo de redes, presentan caracter´ısticas particulares
que influyen en la forma en que se manipular´ıan en un proceso habitual de miner´ıa de
datos. Abordamos los sistemas de recomendaci´on basados en etiquetas y proponemos la
elaboraci´on de estructuras de datos (denominadas dimensiones) que faciliten el manejo
de informaci´on en dichos sistemas.
La informaci´on obtenida puede utilizarse para fines comerciales como la elaboraci´on
de perfiles de usuario o definici´on de sistemas de recomendaci´on de compra, as´ı como la
predicci´on de gustos de los usuarios. Todos ellos son objetivos tradicionales de las t´ecnicas
de miner´ıa de datos.
En nuestro trabajo proponemos:
estudiar las particularidades de la obtenci´on de datos provenientes de redes sociales.
aplicar las t´ecnicas de miner´ıa de datos para obtener conclusiones sobre la red social
m´as all´a de las conclusiones meramente descriptivas, de forma que se genere nuevo
conocimiento.
una metodolog´ıa para facilitar el manejo de la informaci´on en sistemas de recomen-
daci´on musicales basados en etiquetas mediante la elaboraci´on de las denominadas
dimensiones musicales.
11
extraer informaci´on a partir de las mismas de forma que se puedan clasificar los
usuarios en funci´on de sus h´abitos de escucha.
elaborar modelos predictivos a partir de la informaci´on de la red que sirvan para
mejorar la calidad de los sistemas de recomendaci´on musical.
1.3. Metodolog´ıa
La forma de trabajar con datos obtenidos de redes sociales difiere de las metodolog´ıas
tradicionales en lo que al proceso de obtenci´on de datos se refiere, ya que la mayor´ıa de
redes sociales en lugar de proporcionar conjuntos de datos cerrados y est´aticos dan acceso
a la informaci´on contenida en sus sistemas mediante interfaces de programaci´on (APIs)
que permiten acceder pr´acticamente en tiempo real a los datos manejados dentro de la
red. Este acceso no suele ser completo ya que por motivos de privacidad algunos datos
no est´an disponibles libremente, e incluso en ocasiones los usuarios pueden decidir cuales
de sus datos se pueden distribuir y cu´ales no. Esto debe tenerse en cuenta sobre todo en
la fase de preprocesado de los datos, ya que puede ser necesario filtrar los usuarios para
utilizar ´unicamente aquellos que proporcionan un m´ınimo de informaci´on ´util.
De igual manera el acceso mediante la API definida suele estar restringido, de forma
que para poder hacer uso de la misma sea necesario previamente darse de alta en el propio
sistema, ya sea como simple usuario o expl´ıcitamente como desarrollador. La cantidad de
informaci´on a obtener var´ıa de una red a otra, pero normalmente suelen existir restricciones
temporales, expresadas en par´ametros como l´ımite m´aximo de conexiones por minuto
´o volumen de informaci´on a consultar en un cierto per´ıodo de tiempo. Muchas de estas
restricciones buscan salvaguardar el rendimiento de los propios sistemas de la red.
Una vez obtenidos los datos se requiere de una fase de preprocesamiento para adecuarlos
a los futuros an´alisis estad´ısticos. Esta parte suele requerir de una gran fracci´on del total
de tiempo del proyecto, siendo en ocasiones la fase en la que m´as tiempo se invierte de
todo el proceso de extracci´on y an´alisis de los datos.
En nuestro trabajo hemos utilizado un conjunto de datos ya existente proveniente de
LastFM, lo que nos ha significado un ahorro de tiempo ya que los l´ımites impuestos por
dicha red, aunque no afectan a la informaci´on disponible, s´ı lo hacen respecto a la cantidad
de transacciones por minuto lo que significa que para obtener un conjunto de datos lo
suficientemente amplio como el nuestro se hubiera requerido de d´ıas o incluso semanas.
Posteriormente los datos han sido analizados mediante diversas t´ecnicas estad´ısticas;
para nuestro estudio, debido a su amplia difusi´on dentro de la comunidad investigadora y
a su amplio abanico de recursos, hemos elegido el entorno de de programaci´on R.
Con las conclusiones obtenidas, hemos clasificado los usuarios en grupos atendiendo a
diversos criterios, y dicha agrupaci´on nos ha permitido adem´as extraer reglas que poten-
cialmente podr´ıan incorporarse a un sistema de recomendaci´on musical para mejorar su
eficacia.
12
1.4. Estructura
Este documento est´a estructurado de la siguiente manera:
Cap´ıtulo 1: introduce nuestro trabajo y proporciona una visi´on global del mismo.
Cap´ıtulo 2: proporciona informaci´on preliminar sobre el conjunto de t´ecnicas y metodolog´ıas
que se incluyen dentro de la disciplina conocida como miner´ıa de datos y que hemos
utilizado posteriormente en nuestro caso de estudio.
Cap´ıtulo 3: se introducen las estructuras conocidas como redes sociales, los sistemas
de recomendaci´on m´as habituales y se propone una metodolog´ıa basada en la uti-
lizaci´on de las etiquetas para deducir informaci´on sobre los usuarios (elaboraci´on de
dimensiones).
Cap´ıtulo 4: proponemos un caso de estudio con datos procedentes de una conoci-
da red social, LastFM, aplicando algunas t´ecnicas habituales en miner´ıa de datos.
Tambi´en se exponen los resultados obtenidos de dichos an´alisis.
Cap´ıtulo 5: presenta las conclusiones de nuestro trabajo y se se˜nalan algunos puntos
sobre los que trazar futuras l´ıneas de investigaci´on.
13
Cap´ıtulo 2
Miner´ıa de Datos
2.1. Introducci´on
En los ´ultimos a˜nos cada vez m´as datos est´an siendo almacenados en las organizaciones
y/o empresas para diversos fines. Sin embargo, en muchas ocasiones no se extrae infor-
maci´on ´util de los mismos lo que impide la generaci´on de nuevo conocimiento. Bas´andose
en la premisa de que los datos poseen m´as informaci´on de la observada a simple vista,
naci´o en los 60 la disciplina conocida como KDD (Knowledge Discovery from Databases),
extracci´on de conocimiento a partir de bases de datos, a partir de la cual naci´o la miner´ıa
de datos tal y como la conocemos hoy en d´ıa.
Podemos definir KDD como el proceso no trivial de identificar patrones v´alidos, nove-
dosos, potencialmente ´utiles y comprensibles a partir de datos (Fayyad[27]). Inicialmente
una de las partes de dicho proceso la constitu´ıa la miner´ıa de datos, pero con el transcur-
so del tiempo, la adopci´on de ´esta ´ultima por parte de la industria ha hecho que en la
actualidad el conjunto en su totalidad se denomine miner´ıa de datos.
La emergencia de la miner´ıa de datos est´a intr´ınsecamente relacionada con el desarrollo
de las tecnolog´ıas de la informaci´on, en concreto con la evoluci´on y organizaci´on de
las tecnolog´ıas de bases de datos. Las herramientas para la consulta y elaboraci´on de
informes proporcionadas por muchas bases de datos son f´aciles de usar; ayudan a explorar
los datos hasta cierto punto, ya que presentan algunas limitaciones. La miner´ıa de datos
es diferente de la mera extracci´on de datos porque se basa en la b´usqueda de relaciones
y asociaciones entre fen´omenos que no son conocidos de antemano, y que muchas veces
no son observables mediante un an´alisis superficial.
La miner´ıa de datos abarca en la actualidad de forma indirecta una serie de disciplinas
paralelas, no s´olo las relacionadas con las t´ecnicas estad´ısticas y el aprendizaje autom´atico
sino tambi´en otras como la teor´ıa de bases de datos, ya que la fuente de informaci´on
suele ser una base de datos. Tambi´en engloba las t´ecnicas de visualizaci´on de datos,
herramientas de gran difusi´on.
14
Figura 2.1: Disciplinas de la miner´ıa de datos
Aunque la miner´ıa de datos ha estado siempre relacionada con el an´alisis estad´ıstico
de datos, existen algunos matices que los diferencian (Giudici[2]). La miner´ıa de datos
trata de analizar grandes conjuntos de datos, lo que implica tener en cuenta ciertas con-
sideraciones al plantear el an´alisis estad´ıstico. En muchas ocasiones es imposible analizar
la totalidad de la base de datos por limitaciones tecnol´ogicas, por lo tanto es necesario
tomar una muestra de los datos. Esta muestra debe tener en cuenta qu´e se pretende
obtener con el proceso de miner´ıa de datos, por lo que no puede realizarse ´unicamente
con los m´etodos tradicionales de an´alisis de datos. Adem´as existen nuevas y emergentes
formas de obtener los datos, como es el caso de la informaci´on obtenida directamente de
Internet, o de dispositivos m´oviles, que obliga a definir nuevos m´etodos de extracci´on de
datos, a˜nadiendo as´ı una capa extra de complejidad t´ecnica que va m´as all´a del mundo de
la estad´ıstica. Finalmente, los resultados que se persiguen con la miner´ıa de datos deben
ser ´utiles para la empresa u organizaci´on, prestando atenci´on a la viabilidad de los an´alisis
en relaci´on al beneficio que proporcionan.
En conclusi´on, podemos decir que la miner´ıa de datos abarca m´as disciplinas que ´unica-
mente el an´alisis de datos. De hecho las t´ecnicas de an´alisis en miner´ıa de datos deber´ıan
formalizarse haciendo uso de los m´etodos estad´ısticos. Por otra parte, el contexto en que
se ubica la miner´ıa de datos hace que esta disciplina tenga en cuenta otros factores de
tipo t´ecnico, econ´omico y empresarial, fundamentales para aportar coherencia y justificar
la inversi´on en la b´usqueda de nuevo conocimiento que soporte la toma de decisiones
dentro de la empresa.
15
2.2. El proceso de miner´ıa de datos
La miner´ıa de datos engloba una serie de actividades, desde la definici´on de objetivos
hasta la evaluaci´on de resultados, descritos en los siguientes pasos:
Definición
de objetivos
pretratamiento
de los datos
Análisis
exploratorio
Especificación
de técnicas
estadísticas
Análisis
de los datos
Evaluación de los
métodos utilizados
Interpretación
del modelo escogido
Figura 2.2: Etapas en el proceso de la miner´ıa de datos
Definici´on de los objetivos
La definici´on de los objetivos incluye la especificaci´on de lo que se espera del an´alisis. No
siempre es f´acil describir lo que se quiere descubrir. De hecho, los objetivos establecidos
en entornos empresariales suelen ser claros, residiendo el problema en c´omo traducir los
mismos en problemas espec´ıficos a tratar.
Esta parte es una de las m´as dif´ıciles del proceso, ya que lo que se determine en esta
etapa repercutir´a directamente en las dem´as fases del mismo. Por lo tanto, los objetivos
deben ser claros y no dar lugar a dudas o incertidumbres.
Organizaci´on de los datos
Una vez est´en claros los objetivos, es necesario seleccionar los datos a analizar. El
primer paso es identificar la fuente de donde obtener dichos datos. Normalmente suele ser
un origen interno, m´as barato y fiable, si bien en el caso de las redes sociales deben ser
extra´ıdos mediante los mecanismos oportunos. Los datos internos de la empresa tienen la
ventaja de ser producto de experiencias y procesos pasados de la propia empresa. La fuente
de datos ideal es el llamado almac´en de datos (data warehouse), un almac´en de datos
hist´oricos que se mantiene est´atico (en el sentido de que se a˜nade informaci´on pero no se
elimina) y del que es f´acil extraer informaci´on de inter´es. La construcci´on y estructuraci´on
del data warehouse es una materia compleja en s´ı misma, vinculada directamente con las
tecnolog´ıas de bases de datos.
Normalmente en esta fase del proceso tambi´en se realiza el preprocesado de los datos,
incluyendo la eliminaci´on de informaci´on irrelevante, identificando variables ´utiles y descar-
tando aquellas que no sean objeto de estudio.
16
An´alisis exploratorio de los datos
El an´alisis exploratorio de los datos incluye un an´alisis preliminar de los mismos, que
puede dar lugar a realizar transformaciones de las variables originales que ayuden al an´alisis,
as´ı como a la identificaci´on de valores an´omalos. Esta es una fase importante porque
permite al analista decidir qu´e m´etodos estad´ısticos pueden ser los m´as adecuados para
la siguiente parte del an´alisis.
Tambi´en puede suceder que, como resultado del an´alisis exploratorio, se decidan extraer
nuevos datos porque los obtenidos inicialmente se consideren insuficientes para llegar a
los objetivos establecidos.
Especificaci´on de los m´etodos estad´ısticos
Existen muchos m´etodos estad´ısticos que pueden ser utilizados y una gran cantidad de
algoritmos. La elecci´on de los m´etodos depende del problema en cuesti´on y de los datos
disponibles.
An´alisis de datos
Una vez se han especificado los m´etodos estad´ısticos a utilizar, deben ser trasladados
a algoritmos apropiados que ayuden a obtener los resultados a partir de la informaci´on
contenida en la base de datos. En la actualidad la variedad de software estad´ıstico y
de paquetes especializados en miner´ıa de datos hace que normalmente no sea necesario
desarrollar software propio, bastando con el que se proporciona por defecto. De todas
formas, debe asegurarse que los resultados proporcionados se adec´uen a las caracter´ısticas
del problema en cuesti´on y ayuden en la toma de decisiones.
Evaluaci´on de los m´etodos estad´ısticos
Para poder tomar una decisi´on final es necesario elegir el mejor an´alisis de entre los
disponibles. Por lo tanto, la elecci´on del modelo y las reglas de decisi´on definitivas se basan
en la comparaci´on de los resultados obtenidos con los diferentes m´etodos. Es posible que
ninguno de los m´etodos utilizados permita obtener una conclusi´on clara. En ese caso,
ser´a necesario retroceder y especificar nuevos m´etodos que sean m´as apropiados para el
an´alisis. En miner´ıa de datos no suele bastar con un solo an´alisis de datos, algunas t´ecnicas
se adaptan mejor que otras a un determinado problema. La ventaja de utilizar distintos
m´etodos es que cada uno de ellos permite resaltar diferentes aspectos que de otra forma
podr´ıan ser ignorados.
La evaluaci´on de los m´etodos estad´ısticos suele ser una fase bastante ´agil, donde se
eval´uan los diferentes m´etodos y se proporcionan pruebas de por qu´e unos m´etodos dan
resultados que ayudan m´as o menos a obtener una conclusi´on a partir de los datos.
17
Implementaci´on de los m´etodos
La miner´ıa de datos no finaliza una vez los datos han sido analizados, incluye tambi´en
la integraci´on de los resultados en los procesos de decisi´on dentro de la compa˜n´ıa. El
conocimiento sobre la empresa, la extracci´on de reglas y su inclusi´on en los procesos
internos permiten pasar de la fase m´as anal´ıtica a la creaci´on de un verdadero sistema de
ayuda a la decisi´on.
Por ejemplo, en el ´ambito de la segmentaci´on de clientes, una vez el modelo ha sido
elegido y testeado con un conjunto de datos, las reglas de clasificaci´on pueden ser aplicadas
a toda la poblaci´on. La inclusi´on del proceso de miner´ıa de datos dentro de la estructura de
la empresa debe realizarse paulatinamente, estableci´endose objetivos realistas y obteniendo
resultados gradualmente.
El objetivo final es que el proceso est´e totalmente integrado con las dem´as herramientas
utilizadas en la empresa para dar soporte a la toma de decisiones.
2.3. Evoluci´on hist´orica
La idea del data mining no es nueva. Ya desde los a˜nos sesenta los estad´ıstas manejaban
t´erminos como data fishing, data mining o data archaeology con la idea de encontrar
correlaciones sin una hip´otesis previa en bases de datos que presentaban observaciones
con ruido.
El aprendizaje autom´atico est´a relacionado con la inform´atica y la inteligencia artificial
y se encarga de encontrar relaciones y patrones en los datos que puedan ser convertidos
en conocimiento. El objetivo del aprendizaje autom´atico es la reproducci´on del proceso
de generaci´on de datos, permitiendo a los analistas generalizar a partir de los datos con-
cretos observados. En 1958, el trabajo de Rosenblatt[33] introdujo el primer modelo de
aprendizaje autom´atico, denominado perceptr´on. A partir de ´este se desarrollaron las re-
des neuronales en la segunda mitad de la d´ecada de los 80. En el mismo per´ıodo, algunos
investigadores perfeccionaron la teor´ıa sobre ´arboles de decisi´on, utilizada sobre todo en
problemas de clasificaci´on.
En la segunda mitad de los 80, debido al aumento de la relevancia de los m´etodos com-
putacionales como base para el c´alculo estad´ıstico, hubo una evoluci´on en el desarrollo
de m´etodos estad´ısticos multivariantes. Los m´etodos de aprendizaje autom´atico comen-
zaron a utilizarse m´as all´a del ´ambito de las tecnolog´ıas de la informaci´on y la inteligencia
artificial. En particular, se aplicaron para elaborar campa˜nas de marketing. De hecho, el
t´ermino extracci´on de conocimiento en bases de datos (KDD) se acu˜n´o inicialmente para
describir todos aquellos m´etodos que intentaban encontrar patrones dentro de conjuntos
de datos. Gradualmente el t´ermino KDD se utiliz´o para todo el proceso de extrapolaci´on
de informaci´on; una de sus fases era la llamada miner´ıa de datos, en referencia a la etapa
donde los algoritmos de aprendizaje se aplicaban a los datos. Este t´ermino terminar´ıa por
abarcar todo el proceso, como sucede en la actualidad.
En la d´ecada de los 90, los estadistas comenzaron a interesarse en los m´etodos de
aprendizaje autom´atico, lo que llev´o al desarrollo de nuevas metodolog´ıas. Fue entonces
18
cuando los entornos empresariales comenzaron a englobar todas las partes del proceso
de aprendizaje bajo la denominaci´on de miner´ıa de datos. Esta entrada en el ´ambito
empresarial fue posible debido a la reducci´on en el coste del almacenamiento en las bases
de datos y a los evidentes beneficios de la miner´ıa de datos. Las empresas comenzaron
a utilizar estas t´ecnicas para dar soporte a las diferentes fases del ciclo de vida de los
clientes, incluyendo la adquisici´on de nuevos clientes, el aumento de los beneficios de los
clientes existentes y la fidelizaci´on de los mejores.
En la actualidad, la miner´ıa de datos es utilizada en una amplia variedad de industrias
y sectores incluyendo el an´alisis de texto, medicina, log´ıstica, telecomunicaciones, mar-
keting, Internet y programas gubernamentales relacionados con la seguridad, el servicio
a los ciudadanos y el fraude fiscal. Nuevas tendencias incluyendo el llamado webmining,
extracci´on de conocimiento a partir de fuentes de datos online y la expansi´on de las redes
sociales, han hecho que la miner´ıa de datos cobre renovada importancia.
2.4. M´etodos estad´ısticos
Los m´etodos estad´ısticos utilizados en miner´ıa de datos pueden clasificarse dentro de
tres grandes clases, atendiendo a los objetivos que persiguen: m´etodos descriptivos, m´eto-
dos predictivos y m´etodos locales (Giudici[2]):
M´etodos descriptivos (aprendizaje no supervisado)
Tienen como objetivo describir los datos de la forma m´as resumida posible; tambi´en
son llamados m´etodos indirectos o no supervisados, ya que no se conoce de antemano
la clase a la que pertenecen los datos en una hipot´etica clasificaci´on. Todas las variables
disponibles son consideradas por igual y no hay hip´otesis de causalidad entre ellas.
Entre las t´ecnicas descriptivas m´as habituales encontramos:
algoritmos de agrupamiento jer´arquico y no jer´arquico (clustering).
mapas autoorganizados (SOM) y redes de Kohonen.
m´etodos gr´aficos para la visualizaci´on de datos.
M´etodos predictivos (aprendizaje supervisado)
Los m´etodos predictivos buscan describir una o m´as de las variables en relaci´on a las
dem´as, por ello tambi´en son llamados m´etodos supervisados. Para ello buscan patrones que
permitan elaborar reglas de clasificaci´on o predicciones basadas en los datos existentes.
Estas reglas permiten predecir o clasificar el resultado de una o m´as variables respuesta
en relaci´on a una serie de variables denominadas explicativas, o de entrada.
Los m´etodos m´as importantes son aquellos desarrollados en el campo del aprendizaje
autom´atico como las redes neuronales (destacando el perceptr´on multicapa) y los ´arboles
de decisi´on. Tambi´en entran dentro de esta categor´ıa modelos estad´ısticos cl´asicos como
la regresi´on lineal y la log´ıstica.
19
M´etodos locales
El tercer grupo de m´etodos lo constituyen los m´etodos locales, cuyo objetivo ´ultimo es
identificar aquellas caracter´ısticas particulares relacionadas con un subconjunto de inter´es
en la base de datos. Desde esta consideraci´on, los m´etodos descriptivos y predictivos
anteriormente citados pueden ser considerados como globales.
El m´aximo exponente de m´etodos locales lo constituyen las reglas de asociaci´on, muy
utilizadas para analizar datos transaccionales.
2.5. An´alisis Cl´uster
El an´alisis de agrupamiento, ´o cluster, es una de las t´ecnicas descriptivas m´as utilizadas
y estudiadas de entre todos los m´etodos utilizados en miner´ıa de datos. Tambi´en llamado
segmentaci´on de datos, se utiliza de forma descriptiva para determinar si un conjunto de
datos conforma o no un conjunto de subconjuntos (clusters), donde cada uno contiene
objetos con caracter´ısticas comunes. Esto requiere de una medida de la similitud entre
los objetos para poder asignarlos a los correspondientes clusters, lo que nos lleva a la
noci´on de grado de similitud entre los objetos individuales que se agrupan. Un m´etodo de
clustering intenta agrupar dichos objetos bas´andose en la definici´on de similitud que se
utilice.
Dada una matriz formada por n observaciones (filas) y p variables (columnas), el ob-
jetivo del an´alisis cluster es agrupar dichas observaciones en grupos de forma que sean
internamente homog´eneos (cohesi´on interna) y heterog´eneos entre los grupos (separaci´on
externa).
M´etodos de agrupamiento
Podemos dividir los m´etodos de agrupamiento en dos grandes familias, atendiendo a
c´omo realizan el agrupamiento de las observaciones.
M´etodos jer´arquicos: comienzan la divisi´on con todas las observaciones separadas,
partiendo de n clusters, uno para cada observaci´on. Como su nombre indica, se
obtiene como resultado una representaci´on jer´arquica donde los clusters a cada
nivel son creados uniendo los clusters existentes a niveles inferiores. En los niveles
m´as bajos se encuentran las observaciones individuales mientras que en el nivel m´as
alto existe un ´unico cluster conteniendo todas las observaciones.
M´etodos no jer´arquicos: en estos m´etodos se obtiene una divisi´on de las n observa-
ciones en g grupos, donde g debe ser definido a priori. Al contrario de los m´etodos
jer´arquicos, el resultado es una ´unica partici´on que satisface el criterio de optimalidad
que se haya definido, normalmente el agrupamiento que permite obtener la m´axima
cohesi´on interna para el n´umero especificado de grupos. Para alcanzar esta meta, se
clasifica cada observaci´on atendiendo al valor de una funci´on objetivo previamente
establecida.
20
Elecci´on de las variables
La elecci´on de qu´e variables utilizar para el clustering tiene que tener en cuenta m´ultiples
aspectos. Utilizar variables que tengan poca relevancia empeorar´a la calidad del resultado.
En general, el agrupamiento puede considerarse satisfactorio cuando no muestra excesiva
sensibilidad a cambios peque˜nos en el conjunto de variables utilizadas.
Antes de realizar un an´alisis cluster es conveniente realizar alg´un tipo de an´alisis previo
que nos proporcione informaci´on adicional sobre las propias variables objeto del estudio,
con t´ecnicas como el an´alisis de la matriz de correlaci´on, o m´as sofisticadas como el
An´alisis de Componentes Principales (PCA).
2.5.1. Determinaci´on del n´umero de clusters
En los m´etodos no jer´arquicos es necesario proporcionar a priori el n´umero de clusters
en los que se desean agrupar las observaciones iniciales.
La determinaci´on del n´umero de clusters en un conjunto de datos es un problema
frecuente, previo al propio an´alisis cluster, que se ha convertido en objeto de estudio
independiente en s´ı mismo. En algunos tipos de algoritmos cluster existe un par´ametro
normalmente referenciado como k, que especifica el n´umero de clusters a detectar.
La elecci´on de k suele ser ambigua, con interpretaciones que dependen de la escala de
la distribuci´on de los puntos del conjunto de datos y la resoluci´on que se desea en el
resultado. Utilizar un n´umero de clusters demasiado grande puede llevar a resultados
complejos dif´ıciles de interpretar y evaluar, si es demasiado grande se pierde la motivaci´on
del an´alisis, mientras que la elecci´on de un n´umero de clusters demasiado bajo lleva a
la p´erdida de informaci´on, no refleja correctamente las caracter´ısticas de los datos, y
potencialmente, a la toma de decisiones err´oneas (Phama et al.[8]).
Por lo tanto, en lugar de adoptar un valor de k predefinido, es una buena pr´actica probar
con diferentes valores del mismo.
Algunos m´etodos utilizados para encontrar el n´umero adecuado de clusters son:
visualizaci´on del conjunto de datos, lo que puede funcionar bien para el caso concreto
de dos variables, es decir, bidimensional; generalmente los conjuntos de datos son
m´as complicados.
construcci´on de reglas de parada: se recurre al uso de ´ındices para enfatizar la
compactaci´on intracluster y la distancia intercluster utilizando herramientas como
el error cuadr´atico medio, propiedades geom´etricas de los datos o la matriz de
similitud.
m´etodos heur´ısticos basados en diferentes t´ecnicas y aproximaciones.
Una sencilla t´ecnica f´acilmente aplicable es la llamada regla del codo (Thorndike[4]),
que parte de la regla intuitiva de que se deber´ıa elegir un n´umero ideal de clusters de
forma que a˜nadir un nuevo cluster no modele notablemente mejor los datos, es decir,
si representamos el porcentaje de varianza explicada frente al n´umero de clusters, los
21
primeros a˜nadir´an mucha m´as informaci´on al modelo (explicar´an m´as varianza), pero a
un determinado punto esta ganancia se reducir´a, lo que se traduce en la gr´afica en la
aparici´on de un ´angulo (de ah´ı el nombre).
El punto donde se produce este cambio representar´ıa el n´umero de clusters a utilizar.
Sin embargo, este punto en ocasiones puede no ser claramente observable (Ketchen y
Shook[3]).
A continuaci´on describimos el m´etodo silhouette, una t´ecnica ampliamente utilizada
para determinar el n´umero de clusters, que proporciona por un lado un resultado gr´afico
que permite visualizar qu´e n´umero de clusters es m´as adecuado, y por otra parte un
resultado num´erico para estimar la calidad del valor k elegido.
2.5.2. Representaci´on Silhouette
Cuando se aplica un algoritmo de particionamiento en k clusters sobre un conjunto de
n observaciones, el resultado obtenido suele ser una lista de las mismas y los clusters en
los que se asignan. Sin embargo, este resultado no es tan visual como las representaciones
en dendogramas utilizadas en los m´etodos jer´arquicos.
La representaci´on en silhouettes (Rousseeuw[5]) es una representaci´on gr´afica de utili-
dad cuando la proximidad entre las observaciones sigue una escala de raz´on (como es el
caso de la distancia Eucl´ıdea) y el objetivo es obtener clusters compactos y claramente
diferenciados. Una gran ventaja de este tipo de representaciones es la gr´afica obtenida,
que permite valorar la calidad del ajuste de una forma r´apida e intuitiva.
Para construir las representaciones silhouette se necesitan dos elementos:
el particionamiento obtenido, (independientemente de la t´ecnica utilizada para re-
alizarlo).
una medida de la proximidad entre las diferentes observaciones, por ejemplo la matriz
de similitud, o la matriz de distancias.
Con estos datos se obtiene un valor s(i) para cada una de las observaciones. Si para cada
observaci´on i indicamos como A el cluster en el que se asigna, se define:
a(i) = media de la distancia de i frente a todos los dem´as elementos de A.
Tomando ahora los dem´as clusters C donde no ha sido asignado i,
d(i, C) = media de la distancia de i frente a todos los elementos de C.
Finalmente, para todos los d(i,C), definimos el menor como
b(i) = mind(i,C), con C = A.
El cluster B asociado con b(i), es decir (d(i, B) = b(i)) se denomina vecino del objeto i,
y podr´ıa verse como la segunda mejor clasificaci´on del objeto i si el cluster A no existiese.
De esta forma, definimos s(i) como
22
s(i) = b(i)−a(i)
maxa(i),b(i)
El valor del coeficiente Silhouette puede variar entre -1 y 1, siendo el mejor caso cuando
vale 1, ya que indica que a(i)) = 0. Si el cluster A est´a formado por un s´olo elemento se
define su s(i) = cero, ya que el valor a(i) no estar´ıa definido.
Una vez hemos obtenido los valores s(i), puede obtenerse la media de todos los s(i)
asociados a cada cluster y representarla gr´aficamente en funci´on del n´umero de clusters
k.
Como ejemplo, la siguiente figura muestra dos gr´aficos Silhouette obtenidos para difer-
entes valores de k, en concreto k = 2, y k=4, aplicando el algoritmo PAM (descrito
m´as adelante) al conjunto de datos Iris 1
, un conjunto ampliamente difundido entre la
comunidad investigadora.
Figura 2.3: Ejemplos de gr´aficos Silhouette
La primera gr´afica describe el resultado al dividir el conjunto de pruebas en dos clusters.
Se obtiene una media del valor s(i) igual a 0,68.
En la segunda gr´afica, al agrupar en cuatro clusters el valor obtenido s(i) es menor
(0.5), lo que nos indicar´ıa que ser´ıa m´as apropiado dividir en dos clusters. Operando de
esta forma, si obtuvieramos el gr´afico Silhouette para un rango m´as amplio de valores
de k, podr´ıamos determinar cual es el valor m´as conveniente y utilizarlo posteriormente
para agrupar los datos por el m´etodo de agrupamiento que consideremos m´as adecuado,
no teniendo que ser necesariamente el mismo utilizado para obtener las representaciones
Silhouette.
1
http://archive.ics.uci.edu/ml/datasets/Iris
23
2.5.3. Algoritmo K-medias
El algoritmo k-means (k-medias) (Hartigans y Wong[9]) es uno de los m´etodos cluster
iterativos m´as conocidos. Se aplica principalmente cuando todas las variables son de tipo
cuantitativo, y para cuantificar cu´anto cerca se encuentran unos puntos de otros se suele
elegir como distancia la distancia eucl´ıdea al cuadrado (L2),
d(xi , xi ) = p
j−1 (xij − xi j )2
= xi − xi
2
Existen otras medidas como la distancia Manhattan, o la medida de Jaccard; la elecci´on
depende del tipo de datos a tratar.
Normalmente las medidas de distancia son relativamente simples ya que el algoritmo
debe calcular repetidamente la cercan´ıa entre cada par de puntos, cada vez que se recal-
culan los centroides. Esto hace que la rapidez de c´alculo de la medida de distancias sea
un factor importante en el rendimiento del algoritmo (Tan et al.[6]).
El objetivo del algoritmo k-means es agrupar M puntos representados en N dimensiones
en k clusters de forma que la suma de los cuadrados intracluster sea m´ınima.
El algoritmo toma como entrada una matriz de M puntos en N dimensiones y una
matriz de k clusters iniciales centrados en dichas dimensiones. El n´umero de puntos en el
cluster L se denota como NC(L). Para indicar la distancia eucl´ıdea entre el punto I y el
cluster L se utiliza D(I,L).
El procedimiento general es mover puntos de un cluster a otro para buscar una partici´on
en K clusters que origine la suma de cuadrados intracluster m´ınima (un ´optimo local).
En el primer paso, los puntos son asignados a los centroides iniciales, que se encuentran
en el grupo m´as poblado de puntos. Una vez hecho esto, se actualizan los centroides.
De forma general podemos describir el algoritmo k-means en los siguientes pasos,
1. seleccionar k puntos como los centroides iniciales.
2. repetir
3. construir k clusters asignando cada punto a su centroide m´as cercano.
4. recalcular el centroide de cada cluster.
5. hasta que los centroides no cambien.
Cuando el algoritmo termina, debido a que no se producen nuevos cambios en los
centroides, ´estos identifican los clusters alrededor de los cuales se agrupan los puntos.
La mayor parte de la convergencia tiene lugar en los primeros pasos, cuando el movimien-
to de los diferentes valores da lugar a mayores cambios en los centroides; por ello el criterio
de parada del ´ultimo paso suele relajarse a una condici´on m´as suave, por ejemplo hasta
que s´olo el 1 % de los puntos cambien de cluster.
La siguiente figura muestra el resultado de la aplicaci´on del algoritmo k-means sobre
el conjunto de datos Iris, tomando un valor de k igual a 3; siendo ´este un conjunto muy
24
estudiado sabemos a priori que los datos se agrupan en 3 clases. Cada una de las filas
corresponde a una de las dimensiones originales de los datos, y cada color a uno de las
clases (versicolor, cetosa y virg´ınica).
Sepal.Length
2.0 2.5 3.0 3.5 4.0
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
qq
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
0.5 1.0 1.5 2.0 2.5
4.55.56.57.5
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
2.02.53.03.54.0
q
q
q
q
q
q
q q
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
qq q
q
q
q
q
q
q
q
q
Sepal.Width
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
qqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q qq
q
q
q
q
q
q
q
q
qqq
q q
q
q qq q qq
q
q q
q
qq
q
q
q
q
q
q
q
qq qq
qq qq qq
q qqq
q
qqq
q
q
q
q
q qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q q
q
q
q
q
qq
q
q
q q
q
q
qq
q
q
q
q
qqq q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
qq
q
q
q
qq
q
q
q
q
q
q
q
qq q
q q
q
qqq q qq
q
q q
q
qq
q
q
q
q
q
q
q
q qqq
qq q qqq
q qqq
q
qq q
q
q
q
q
q qq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
q q
q
q
qq
q
q
q
q
q qqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
qq
q
q
q
qq
q
q
q
q
q
q
q
Petal.Length
1234567
qqq
qq
q
qqqqqq
q
qq
q
qq
q
q
q
q
q
q
q
q qqq
qq qqqq
qqqq
q
qqq
q
q
q
q
qqq
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
qq
q
q
q
q
qq
q
q
qq
q
q
qq
q
q
q
q
qqqq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
qq
q
q
q
qq
q
q
q
q
q
q
q
4.5 5.5 6.5 7.5
0.51.01.52.02.5
qqqq q
q
q
qq
q
qq
qq
q
qq
q qq
q
q
q
q
q q
q
qqqq
q
q
qqq q
q
q q
qq
q
q
q
q
qq qq
q
q q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
qqq
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
qqq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
qq qq q
q
q
qq
q
qq
qq
q
qq
q qq
q
q
q
q
qq
q
qqqq
q
q
qqq q
q
q q
qq
q
q
q
q
qq qq
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q qq
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
qq
q
q
qq q
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
1 2 3 4 5 6 7
qqqqq
q
q
qq
q
qq
qq
q
qq
qqq
q
q
q
q
qq
q
qqqq
q
q
qqqq
q
qq
qq
q
q
q
q
qqqq
q
q q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
q
q
q
q
q
q
q
q
qqq
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
q
q q
q
q
qqq
q
q
q
q
q
q
q
q
q
qq
q
q
q
q
q
q
q
q
q
q
q
Petal.Width
Figura 2.4: Ejemplo de K-medias
Entre los inconvenientes del m´etodo k-medias podemos citar:
el algoritmo k-means asume que el n´umero de clusters k es conocido de antemano, lo
que raramente sucede, (y lleva a recurrir a m´etodos para calcular dicho k previamente
a aplicar el algoritmo).
siendo una t´ecnica iterativa, el algoritmo k-means es especialmente sensible a las
condiciones de inicio (n´umero de clusters y orden de los datos). De hecho algunos
autores (Hartigan y Wong[9]) sugieren iniciar el algoritmo con diferentes valores
para las medias iniciales, y elegir la soluci´on que d´e el menor valor para la funci´on
objetivo.
el algoritmo converge la mayor´ıa de las veces a un m´ınimo local.
A favor del algoritmo k-means est´a su baja demanda de recursos: el espacio en memoria
requerido para los c´alculos es peque˜no ya que solamente se guarda informaci´on sobre
los datos originales y los centroides. En concreto, la memoria necesaria es del orden de
O((m + K)n), siendo m el n´umero de puntos y n el n´umero de dimensiones. El tiempo
invertido en los c´alculos es tambi´en reducido, pr´acticamente lineal con el n´umero de puntos
25
(orden O(I∗K∗m∗n)) donde I es el n´umero de iteraciones requeridas para la convergencia,
que suele ser peque˜no y normalmente acotable f´acilmente, ya que como hemos indicado
anteriormente la mayor´ıa de los cambios se producen en las primeras iteraciones (Tan et
al.[6]).
Podemos decir que el algoritmo k-medias es lineal con m, el n´umero de puntos, sien-
do eficiente y simple siempre que k, el n´umero de clusters, sea significativamente m´as
peque˜no que m. Esto hace que, frecuentemente, se utilice como primera opci´on al llevar
a cabo estudios preliminares de los datos, o como una fase de procesamiento inicial para
obtener una configuraci´on inicial que sirva de punto de partida para otros algoritmos m´as
complejos.
2.5.4. Algoritmo PAM
El algoritmo PAM (partitioning around medoids) es el exponente m´as representativo
del llamado algoritmo k-medoides (k-medoids).
El objetivo del algoritmo PAM es encontrar grupos que presenten un alto grado de simil-
itud entre sus elementos mientras que los elementos pertenecientes a diferentes clusters
sean lo m´as distintos posible (Kauman y Rousseeuw[10]).
En algoritmos como k-medias, los elementos representativos de cada cluster son los
centroides. El algoritmo PAM se basa en la misma idea de b´usqueda de k elementos
representativos pero tomando los llamados medoides para cada cluster: aquellos elementos
del cluster que minimizan la distancia media respecto a los dem´as puntos, es decir, los
centros de los clusters son puntos reales del propio cluster. Una vez encontrados dichos
elementos, los clusters se construyen asignando cada punto del conjunto de datos al
medoide m´as cercano.
Algorithmo 1 Algoritmo PAM
1. Dada una distribuci´on de los puntos en el cluster C, encontrar el elemento en el
cluster que minimice la distancia total a los dem´as puntos de dicho cluster:
i∗k = argmin{i:C(i)=k}
C(i )=k
D(xi , xi ).
Los valores mk , k = 1,2,. . . ,K son las estimaciones iniciales de los medoides de los
clusters.
2. Dado el conjunto actual de medoides {m1,. . . ,mK} minimizar el error total asignando
cada observaci´on al medoide m´as cercano de los clusters existentes.
C(i) = argmin
1<=k<=K
D(xi , mk ).
3. Repetir los pasos 1 y 2 hasta que los medoides no cambien.
26
El primer paso, donde el algoritmo busca un conjunto inicial v´alido de medoides tambi´en
recibe el nombre en la literatura de fase de construcci´on (BUILD phase), mientras que la
segunda fase es denominada fase de intercambio (SWAP phase).
Como ejemplo aplicaremos el algoritmo PAM al conjunto de datos Iris, utilizando un
valor de k igual a 3. La Figura 2.5 muestra la representaci´on en silhouettes, frecuentemente
utilizada para visualizar los resultados del m´etodo PAM.
Silhouette width si
0.0 0.2 0.4 0.6 0.8 1.0
Silhouette plot of pam(x = iris, k = 3)
Average silhouette width : 0.57
n = 150 3 clusters Cj
j : nj | avei∈Cj si
1 : 50 | 0.80
2 : 52 | 0.41
3 : 48 | 0.51
Figura 2.5: Ejemplo de PAM sobre el conjunto Iris
Comparado con el m´etodo k-medias, PAM presenta las siguientes ventajas:
PAM trabaja con la matriz de distancias del conjunto de datos. Si en lugar de este
dato se proporciona una matriz de n observaciones y p dimensiones, el algoritmo
calcula dicha matriz en primer lugar.
es m´as robusto ya que se minimiza la suma de distancias en lugar de la suma de los
cuadrados de las distancias eucl´ıdeas.
los resultados no dependen del orden en que se presenten las observaciones (a ex-
cepci´on de cuando existen m´ultiples soluciones equivalentes, lo que es muy poco
frecuente).
Desde el punto de vista del rendimiento, el c´alculo del paso 2. del algoritmo requiere
un esfuerzo computacional proporcional al n´umero de observaciones asignadas al cl´uster,
mientras que para resolver el primer paso el orden de complejidad es O(N2
k ). Con todo esto,
27
PAM es mucho m´as costoso de calcular que el algoritmo k-means, y para conjuntos de
datos grandes se suele recurrir a otros algoritmos, como CLARA, descrito a continuaci´on.
2.5.5. CLARA
El m´etodo de particionamiento PAM descrito anteriormente da buenos resultados en-
muchos casos. Sin embargo, para conjuntos de datos muy grandes presenta problemas de
escalabilidad en el tiempo de c´alculo y la memoria necesarios.
Debido a esto se plante´o CLARA (abreviaci´on de Clustering LARGge Applications),
especialmente adaptado para aplicaciones que hacen uso de grandes conjuntos de datos.
El clustering mediante CLARA se lleva a cabo en dos fases. Primero, una muestra se
toma del conjunto de datos y se agrupa en k clusters utilizando el m´etodo PAM, por lo
que se obtienen k elementos representativos. A continuaci´on todos los elementos que no
pertenecen a la muestra se asignan al m´as cercano de los k representantes, lo que propor-
ciona un agrupamiento de todo el conjunto de datos. Una medida de la calidad de este
m´etodo puede obtenerse calculando la distancia media entre cada elemento del conjunto
de datos y su representante m´as cercano. Este proceso se repite 5 veces, tomando cada
vez una muestra aleatoria sobre el conjunto total, y seleccionando como soluci´on aquella
que proporcione una menor distancia media respecto de su cluster m´as cercano.
A continuaci´on se define la funci´on utilizada para calcular dicha distancia.
Cost(M, D) =
i=1
n
distancia(Oi , rep(M, Oi ))
n
donde M es un conjunto de los medoides escogidos, distancia(Oi , Oj ) es la distancia
entre los objetos Oi y Oj , y rep(M, Oi ) devuelve el medoide en M m´as cercano a Oi .
Los datos de entrada al algoritmo son id´enticos a los proporcionados para PAM y
similares m´etodos de agrupamiento, con la excepci´on de que con CLARA s´olo es necesario
proporcionar la matriz original de datos (de n observaciones y p dimensiones). La matriz
de distancias se calcula posteriormente, solamente respecto a la muestra.
Los resultados obtenidos pueden darse en forma de representaci´on gr´afica mediante
silhouettes de la muestra seleccionada (ya que hacerlo con todo el conjunto de datos
podr´ıa ser demasiado costoso). El hecho de utilizar una muestra hace que la calidad de
los resultados dependa en gran medida del tama˜no de la misma. Si la muestra es peque˜na
CLARA es un m´etodo muy r´apido pero a costa de perder calidad en el agrupamiento. Por
otra parte, al tomar muestras de tama˜no fijo, el tiempo de c´alculo y espacio en memoria se
mantienen lineales con el n´umero total de elementos del conjunto en lugar de cuadr´aticos,
como suced´ıa en el algoritmo k-means.
Adem´as, CLARA tambi´en proporciona informaci´on relativa a cada cluster, como su
tama˜no y los medoides obtenidos. Finalmente tambi´en proporciona un ratio de la m´axima
distancia de cada medoide respecto a su distancia al medoide m´as cercano; este valor da
una idea de la compactaci´on del cluster. Un valor peque˜no (≈ 20) indica un cluster muy
compacto mientras que un valor > 1 refleja un cluster d´ebil.
28
2.5.6. Clustering jer´arquico
En los m´etodos de clustering anteriores como k-medias, el resultado depend´ıa en gran
medida del n´umero de grupos a buscar (el par´ametro k). Por el contrario, los m´etodos
de agrupamiento jer´arquico no lo necesitan. En su lugar debe proporcionarse una medida
de distancia entre dos grupos de observaciones dadas, basada en las distancias de las
observaciones de cada uno de ellos.
Como el nombre indica, lo que se obtiene son representaciones jerarquizadas donde
los clusters de cada nivel de la jerarqu´ıa se obtienen uniendo los clusters existentes en los
niveles inferiores. En el nivel m´as bajo cada cluster contiene una ´unica observaci´on mientras
que en el nivel m´as alto existe un ´unico cluster agrupando todas las observaciones.
Sepal.Length
Petal.Width
Sepal.Width
Petal.Length
2530354045
Cluster Dendrogram
hclust (*, "ward")
d
Height
Figura 2.6: Cluster jer´arquico (aglomerativo, distancia de Ward) del conjunto Iris
Las estrategias para el clustering jer´arquico pueden ser divididas en dos grandes grupos:
aglomerativas (tambi´en llamadas bottom-up) y divisivas (o top-down). Las estrategias
aglomerativas comienzan por abajo, en cada nivel recursivamente fusionan un par de clus-
ters (aquellos con menor distancia entre s´ı) en uno solo, lo que produce un agrupamiento
en el siguiente nivel con un cluster menos. Los m´etodos divisivos por el contrario comien-
zan en la parte superior del ´arbol y en cada nivel recursivamente dividen uno de los clusters
existentes en dos nuevos clusters, aquellos dos con mayor distancia entre s´ı. Ambas es-
trategias generan un total de N-1 niveles.
Todos los m´etodos aglomerativos presentan una propiedad de monotonicidad; la dis-
tancia entre los clusters fusionados en cada nivel se incrementa progresivamente. Esto
29
hace que el ´arbol pueda ser representado mediante un dendograma de forma que el peso
de cada nodo sea proporcional al valor de la distancia entre sus nodos hijo. Los nodos
terminales, que representan observaciones individuales, se representan en la base.
El c´alculo de la distancia entre las observaciones puede hacerse mediante diversas f´ormu-
las, dando cada una resultados distintos. No existe una mejor que otra y la elecci´on suele
depender del dominio del problema y los datos a analizar. Hay que destacar que los m´eto-
dos jer´arquicos necesitan ´unicamente como entrada la matriz de distancias, por lo que
una vez calculada no es necesario trabajar m´as con los datos originales.
Una de las distancias m´as habituales es la distancia eucl´ıdea:
a − b 2 = (ai − bi )2
Adem´as de una medida de la distancia entre muestras, es necesario definir una medida
de la distancia entre dos clusters. De forma similar, existen diversas medidas:
Single Linkage (SL): tambi´en llamada la t´ecnica del vecino m´as pr´oximo. Toma
como distancia entre clusters la menor distancia entre dos pares cualquiera de ambos
clusters:
dSL(G, H) = m´ıni∈G,i ∈H dii
Complete Linkage (CL): tambi´en llamada t´ecnica del vecino m´as lejano. Toma como
distancia entre dos clusters la mayor distancia existente entre dos pares de observa-
ciones cualuesquiera de dichos clusters.
dCL(G, H) = m´axi∈G,i ∈H dii
Group Average (GA): utiliza la media de las distancias entre ambos grupos:
dGA(G, H) = 1
NhNG
i∈G i ∈H dii
distancia de Ward: propuesta de Ward (Ward[26]). El objetivo es buscar las parti-
ciones Pk , Pk−1, . . . , P1 de forma que se minimice la p´erdida asociada a cada agru-
pamiento y permita cuantificar dicha p´erdida de forma intuitiva. La p´erdida de in-
formaci´on se expresa en t´erminos de una suma de cuadrados (ESS);
ESS =
K
k=1 xi ∈Ck
p
j=1
(xij − ¯xkj )2
La principal diferencia de este m´etodo con los anteriores es el proceso de fusi´on de
los clusters, ya que no se unen los que tengan menor distancia sino aquellos que no
incrementen en exceso la heterogeneidad. Lo que se busca es unir clusters de forma
que la variaci´on dentro de los mismos no se incremente. Como resultado se obtienen
clusters que son lo m´as homog´eneos posible.
30
De nuevo no existe una regla sobre cu´ando utilizar una medida u otra. Si los datos
presentan tendencia al agrupamiento en clusters compactos y claramente separados unos
de otros, los 4 m´etodos producir´an resultados similares.
Las t´ecnicas de clustering jer´arquico est´an ampliamente extendidas ya que son f´aciles
de aplicar y los dendogramas resultantes proporcionan informaci´on de manera intuitiva.
2.6. An´alisis de Componentes Principales
PCA (an´alisis de componentes principales) (Pearson[23]) es una t´ecnica que explora
datos multivariantes, y define nuevas variables expresadas como combinaciones lineales de
las originales de forma que el eje principal se encuentra en la direcci´on que contiene m´as
variacion.
Cada nueva variable es ortogonal a las precedentes, siempre en la direcci´on en la que se
explique m´as variabilidad. Las nuevas variables a menudo son llamadas variables latentes,
(LVs), y en el contexto del an´alisis PCA reciben el nombre de componentes principales
(PCs).
La idea principal del PCA es que a menudo muchas de las variables son superfluas, por lo
que se busca una reducci´on de la dimensionalidad, pasando de un espacio multidimensional
a otro con menos variables pero manteniendo la mayor parte de la informaci´on existente
en los datos originales, reduciendo la dimensionalidad del conjunto inicial. Los mejores
resultados se obtienen cuando la mayor parte de los datos pueden ser representados en
referencia a un subespacio bidimensional (un plano), ya que los resultados pueden ser
vistos directamente en referencia a estas dos dimensiones en lugar de un gran n´umero
de dimensiones. Si los datos se representan en mas de dos dimensiones en el subespacio
tambi´en es posible la visualizaci´on (generalmente se eligen dos de las mismas de forma
interactiva).
El an´alisis PCA puede hacerse mediante la descomposici´on en autovectores de la matriz
de covarianza de los datos o bien a trav´es de la descomposici´on de la matriz de datos en
valores ´unicos, normalmente tras centrar en media la matriz de datos, ya que las diferencias
en media de las diferentes variables puede alterar el resultado del an´alisis. Los resultados
obtenidos del an´alisis se suelen expresar en t´erminos de dos valores para cada observaci´on:
Scores: las coordenadas de las muestras en el nuevo espacio. Son los valores de cada
observaci´on al calcular los nuevos valores de las variables.
Loadings: el peso por el cual debe multiplicarse cada variable original para obtener
el score.
Multiplicando scores y loadings se obtiene nuevamente una aproximaci´on de los datos
originales (aproximada, ya que una cierta parte de la informaci´on se habr´a perdido en la
descomposici´on inicial).
El an´alisis PCA permite representar los scores y loadings a trav´es de sendos gr´aficos
hom´onimos, lo que ayuda a la interpretaci´on de los resultados.
31
Figura 2.7: Gr´afico de Scores y Loadings resultantes del PCA sobre el conjunto Iris
En la Figura 2.7 vemos un ejemplo de la aplicaci´on del PCA sobre el conjunto Iris. El
gr´afico de scores muestra como dos de las clases del conjunto pueden separarse lineal-
mente (la nube de puntos de las observaciones aparece dividida). En el gr´afico de loadings
se refleja la relaci´on entre las variables de longitud de p´etalos Petal.Length y ancho de
p´etalos Petal.Width. Tambi´en se indica la variabilidad explicada por la primera componente
(72.96 %) y la segunda (22.85 %).
El uso del PCA permite por lo tanto reducir la dimensionalidad de problemas aparente-
mente inabordables y proporciona una herramienta para estudiar la variabilidad mediante
la b´usqueda de estructuras subyacentes que pueden pasar desapercibidas mediante otras
t´ecnicas anal´ıticas. El hecho de que sea una t´ecnica no param´etrica es por una parte una
ventaja para el an´alisis exploratorio, pero por otra un inconveniente en ciertos casos al
impedir al analista aportar su posible conocimiento sobre el dominio del problema. A´un
as´ı, el an´alisis de componentes principales es una t´ecnica muy extendida aplicable a una
gran cantidad de problemas en campos muy diversos.
2.7. Reglas de asociaci´on
El an´alisis mediante reglas de asociaci´on se ha convertido en una herramienta muy
utilizada para el estudio de bases de datos comerciales. El objetivo es obtener conjuntos
de las variables X = (X1, X2, . . . , Xp) que aparezcan con mayor frecuencia en el conjunto
de datos.
Normalmemente se utiliza para datos de tipo binario donde Xj ∈ {0, 1}; en este caso
frecuentemente se denomina an´alisis de la “cesta de la compra”, donde las observaciones
son ventas de productos. Las variables representan los productos vendidos en la tienda.
Para cada una de las i observaciones cada variable Xj toma el valor 1, xi j = 1 si se ha
producido una venta, o 0 en caso contrario. Aquellas variables que coincidan con valor
32
unitario frecuentemente se considerar´an como productos que se han vendido juntos. Esta
informaci´on puede ser muy ´util en campos como la planificaci´on log´ıstica, t´ecnicas de
publicidad, dise˜no de cat´alogos y segmentaci´on de consumidores seg´un sus patrones de
consumo.
El planteamiento original de las reglas de asociaci´on, debido a la explosi´on combina-
cional que presenta, requiere de algunas simplificaciones para que puedar ser utilizable
para conjuntos de transacciones relativamente grandes (106
, 108
), tama˜nos habituales en
entornos comerciales. Esto ha llevado a la b´usqueda de algoritmos para la elaboraci´on
de reglas de asociaci´on que sean r´apidos y aplicables en la pr´actica, siendo el algoritmo
Apriori uno de los m´as extendidos.
Las reglas de asociaci´on en el algoritmo Apriori pueden ser vistas como relaciones de
la forma “if-then”, obtenidas directamente de los datos de entrada, por lo que son por
naturaleza de car´acter probabil´ıstico.
A ⇒ B
Tanto para el primer elemento de cada regla (A) denominado antecedente, como para
el segundo, consecuente (B) se asigna una medida de la calidad de la misma a trav´es de
dos medidas:
El soporte (support) de la regla: es el n´umero de transacciones que contienen to-
dos los elementos del antecedente y consecuente de la regla. Suele expresarse en
t´erminos de porcentaje respecto al total de observaciones .
La confianza (confidence) de la regla: es el ratio entre el n´umero de transacciones
que incluyen el antecedente y consecuente de la regla (el soporte) y el n´umero total
de reglas que incluyen el antecedente:
C(A ⇒ B) = T (A⇒B)
T (A)
El tercer par´ametro de inter´es en las reglas de asociaci´on es el lift, que no es m´as que el
n´umero total de transacciones que incluyen el consecuente dividido entre el n´umero total
de transacciones:
L(A ⇒ B) = C(A⇒B)
T (B)
Es un valor que proporciona informaci´on sobre el aumento de la probabilidad del con-
secuente dada una ocurrencia del antecedente.
El algoritmo Apriori proporciona un buen rendimiento al reducir el n´umero de conjuntos
candidatos. Sin embargo, en escenarios con conjuntos muy frecuentes, grandes subcon-
juntos o con un nivel de soporte muy bajo, necesita generar un gran n´umero de candidatos
por lo que debe recorrer varias veces todo el conjunto de datos, aumentando el tiempo
computacional. A´un as´ı, dada su sencillez y rapidez se encuentra entre las t´ecnicas de
miner´ıa de datos m´as utilizadas (Wu et al.[22]).
33
2.8. CART / Random Forest
El m´etodo CART (Classificacion and Regression Tree) (Breiman et al.[25]) es un pro-
cedimiento recursivo de particionamiento binario que permite utilizar variables cuantitati-
vas y categ´oricas tanto como variables predictoras como variables respuesta. Adem´as no
necesita que los datos de entrada sean transformados de forma alguna.
Los ´arboles se construyen hasta que alcanzan un tama˜no m´aximo l´ımite (sin necesidad
de especificar una regla de parada) y posteriormente son podados atendiendo a un ratio
coste/complejidad. Esto es as´ı ya que, aunque en los trabajos anteriores sobre ´arboles
de decisi´on se constru´ıan hasta que se cumpl´ıa una regla de parada, en CART no existe
una regla que d´e garant´ıas de que deteniendo el proceso no se dejar´an fuera datos impor-
tantes. Como consecuencia de esto, es necesario introducir la fase de poda anteriormente
mencionada. Cuando se finaliza, el ´arbol resultante adem´as es invariante al orden de los
datos de entrada.
El m´etodo CART est´a pensado para producir no s´olo uno, sino una secuencia de ´arboles
(simplificados mediante la poda) que puedan ser candidatos a ´arboles ´optimos.
Las reglas de divisi´on mediante las cuales se construye el ´arbol son de la forma
una observacion se clasifica a la IZQUIERDA si se cumple la CONDICI ´ON, a la
DERECHA en otro caso
donde dicha condici´on se expresa de la forma “atributo Xi <= C para variables cuan-
titativas. En el caso de variables nominales, la condici´on se indica como pertenencia a
una lista expl´ıcita de valores. El hecho de que sean ´arboles binarios favorece que el parti-
cionamiento requiera m´as pasos, y permite repetir particiones utilizando el mismo atributo.
La poda se lleva a cabo utilizando solamente los datos de entrenamiento y comienza
calculando la siguiente medida de coste/complejidad:
Ra(T) = R(T) + AT
donde R(T) es el coste del ´arbol constru´ıdo con los datos de entrenamiento, T es el
n´umero de nodos terminales del ´arbol y a es una penalizaci´on impuesta en cada nodo. Si a
= 0 se obtiene el valor m´ınimo de coste/complejidad. La poda se realiza paso a paso donde
en cada iteraci´on se elimina el nodo que menos aporta, por lo que aquellos m´as peque˜nos
(que dividen menos datos) ser´an eliminados antes. El proceso contin´ua ascendentemente
hasta que se detiene, por lo que puede suceder que si no se puede explicar el atributo
objetivo se acabe con un ´arbol sin hojas, ´unicamente la raiz, lo que indica que no existe
una soluci´on factible.
CART es capaz de trabajar con datos faltantes, situaci´on muy frecuente en escenarios
reales, utilizando un mecanismo que se aplica en las tres fases: (a) durante la divisi´on de
las ramas del ´arbol, (b) cuando se aplican datos de entrenamiento sobre los nodos del
´arbol, y (c) cuando se utilizan datos de testeo para clasificar las observaciones en uno de
los nodos terminales del ´arbol.
La importancia de un atributo en CART se basa en la suma de las contribuciones
en todos los nodos en los que dicho atributo se utiliza como divisor (ponderado con la
34
fracci´on del conjunto de entrenamiento utilizado en el nodo). Aqu´ı se incluyen tambi´en
valores subrogados, por lo que puede que una variable que no divida en ning´un nodo puede
tener una importancia alta. Esto permite descubrir influencias de variables aparentemente
ocultas y correlaciones no lineales. Entre las ventajas de CART podemos citar:
se obtienen unas reglas de clasificaci´on que permiten una interpretaci´on sencilla.
al ser un m´etodo no param´etrico no es necesario validar los datos a la adecuaci´on a
ninguna distribuci´on de probabilidad.
tanto las variables predictoras como las predichas pueden ser de diferente naturaleza:
binarias, nominales, ordinales, etc.
La aparici´on del m´etodo CART supuso el asentamiento de las bases te´oricas de la
teor´ıa sobre ´arboles. Los trabajos anteriores eran m´etodos en la pr´actica ´utiles, cuyas
propiedades hab´ıan sido obtenidas en base a unos pocos ejemplos emp´ıricos, pero carec´ıan
de base te´orica formal (Wu et al.[22]).
Como desventajas de CART podemos citar:
es poco robusto: peque˜nos cambios en los datos pueden originar ´arboles muy distin-
tos.
puede suceder que al realizar una divisi´on existan dos variables igual de buenas; en
este caso se pierde informaci´on al escoger una de ellas.
cada divisi´on depende de las divisiones precedentes.
Esta serie de inconvenientes hizo que se buscase una metodolog´ıa alternativa que mit-
igase dichos defectos, denominada random forest (Breiman[7]), que se basa en 3 carac-
ter´ısticas fundamentales:
m´ultiples ´arboles: no se genera un solo ´arbol sino un conjunto de ellos. Adem´as no
es necesario podarlos posteriormente.
se generan conjuntos de datos similares mediante bootstrap, t´ecnica que consiste en
tomar datos de muestreo con reposici´on (aproximadamente el 30 % de la muestra
original). De esta forma se corrige el error de predicci´on y se dispone siempre de una
muestra independiente para estimar el error de clasificaci´on.
a la hora de dividir un nodo, en lugar de escoger la mejor variable se seleccionan
al azar un conjunto de variables y se busca la mejor en dicho conjunto. El objetivo
de este procedimiento es aumentar la variabilidad y reducir la dependencia de una
divisi´on respecto de las anteriores.
Como resultado, random forest no proporciona una salida gr´afica como CART, sino una
lista de importancia de las diferentes variables involucradas. Como posible inconveniente
es preciso citar que random forest requiere de una capacidad de c´alculo relativamente alta
si lo ponemos en comparaci´on con CART, debido fundamentalmente al gran n´umero de
´arboles que deben ser generados en la fase de bootstrap.
35
Cap´ıtulo 3
Redes Sociales
En este cap´ıtulo proporcionamos una breve introducci´on a las redes sociales. Describi-
mos las partes m´as importantes de las mismas y su relaci´on con los sistemas de recomen-
daci´on, presentes hoy en d´ıa en innumerables tiendas online y comunidades de usuarios.
Abordamos la problem´atica de la recomendaci´on, y en concreto analizamos los sistemas
de recomendaci´on musicales basados en etiquetas (tags). Finalmente para este tipo de
sistemas proponemos la elaboraci´on de indicadores (denominados dimensiones) que ayuden
al proceso de recomendaci´on, como base te´orica del m´etodo utilizado posteriormente en
el caso de estudio en el Cap´ıtulo 4.
3.1. Introducci´on
Cualquier tipo de relaci´on social puede representarse en t´erminos de elementos que
componen dicha agregaci´on y las relaciones entre los mismos. Este tipo de relaci´on de la
estructura es lo que se denomina como “Red Social”.
En una red social cada unidad, denominada “actor” (una persona, grupo, o un elemento
abstracto) se representa como un nodo; una relaci´on entre dos actores se representa
mediante un enlace entre ambos. El conjunto de posibles relaciones es potencialmente
infinito; una relaci´on puede reflejar muchos conceptos: pertenencia, similitud, jerarqu´ıa, o
conexiones f´ısicas, por citar algunos ejemplos. Por lo tanto, los objetos en estudio no son
´unicamente los individuos y sus atributos, sino tambi´en las relaciones entre los individuos
y su estructura. La ventaja de esta representaci´on es que permite el an´alisis del conjunto
social como un producto de la relaci´on entre sus actores.
En la actualidad, podemos definir las redes sociales como sistemas donde (Boyd y
Ellison[29]):
los usuarios son las entidades principales del sistema, con un perfil (atributos) semi-
p´ublico.
los usuarios pueden crear libremente enlaces expl´ıcitos con otros usuarios o con-
tenidos.
es posible navegar dentro de la red a trav´es de dichos enlaces y perfiles de otros
usuarios.
36
La utilidad de las redes sociales es muy amplia, como tambi´en lo es la tem´atica de
cada una de ellas, pero podemos distinguir tres roles principales comunes a todas las redes
actuales. Primero, las redes sociales se utilizan para mantener y fortalecer v´ınculos so-
ciales existentes, o establecer algunos nuevos. Segundo, permiten que los propios usuarios
a˜nadan contenido, proporcionando nueva informaci´on al sistema, lo que constituye el ver-
dadero valor a˜nadido de la red. Por ´ultimo, las redes son usadas como instrumentos para
obtener nueva informaci´on, filtrando y organizando los contenidos de los propios usuarios.
3.2. Estructuraci´on de los datos: tags
El contenido a˜nadido por los usuarios a las redes sociales puede ser de diversa natu-
raleza. La informaci´on existente en la red sobre el propio contenido servir´a a los dem´as
usuarios como instrumento para poder encontrarlo. Por lo tanto es necesario introducir un
mecanismo que permita localizar y adem´as describa de alguna manera el contenido. Esto
es la denominada metainformaci´on, es decir, informaci´on sobre el contenido de los recursos
existentes (por ejemplo nombre, fecha de creaci´on o formato); puede ser de cierta ayuda,
pero es necesario un instrumento m´as flexible que dote de mayor libertad y flexibilidad a
los usuarios.
En la actualidad, el problema de la descripci´on de contenidos se resuelve en las redes
sociales mediante los denominados tags (etiquetas). Un tag es una palabra clave, gen-
eralmente en texto plano, que se asigna a cierto contenido (una imagen, o un archivo por
ejemplo) o a un recurso abstracto como un enlace web, o un usuario de la propia red. La
ventaja de utilizar tags reside en que permiten localizar la informaci´on existente, y adem´as
al ser texto plano su interpretaci´on es m´as intuitiva. Suelen estar asociados a contenidos
diferentes de texto, como audio o im´agenes, ya que del primero puede obtenerse informa-
ci´on adicional analizando directamente el contenido (buscando palabras frecuentes, por
ejemplo).
Dependiendo del sistema, los tags se asignan bien por el creador del recurso, o bien por
los usuarios que hacen uso del mismo.
El uso de tags en los contenidos de los usuarios aporta valor sem´antico a la red, sobre
todo si se permite a los usuarios etiquetar sus propios contenidos libremente, sin que
exista una clasificaci´on previa de los tags a utilizar. Esto ha llevado al desarrollo de las
denominadas folksonom´ıas.
Al permitir a los usuarios expresarse libremente utilizando su vocabulario para describir
contenidos, se aporta mucha m´as informaci´on sobre la informaci´on etiquetada, ya que los
usuarios no se centran tanto en clasificar como en describir la informaci´on referenciada.
Esto hace que autom´aticamente emerjan patrones culturales similares, apareciendo vo-
cabularios comunes incluso cuando no existe un control previo sobre las etiquetas (Halpin
et al.[30]). De forma similar, en grandes folksonom´ıas, incluso aparecen categorizaciones
naturales de los contenidos fruto de las asociaciones entre etiquetas creadas por los usuar-
ios.
37
Limitaciones
Una de las principales limitaciones del uso de etiquetas es la cobertura. Es bastante
frecuente que s´olo los elementos m´as populares sean descritos por m´as de un usuario,
creando una descripci´on compacta del mismo, y dejando al margen a los dem´as. Los
elementos poco famosos normalmente no tienen suficientes tags como para poderse car-
acterizar. Esto dificulta el proceso de recomendaci´on, sobre todo si lo que se intenta es
promocionar dichos elementos (Celma[13]) (denominados en ocasiones “elementos en la
cola”, por constituir la cola de la funci´on de densidad de elementos etiquetados).
Otra dificultad que se presenta es que al no estar limitado a un vocabulario controlado,
los tags presentan ciertos inconvenientes, como polisemia (conceptos similares descritos
de forma diversa, I like this song, Songs that I like), existencia de sin´onimos (hip-hop,
hip.hop, rap), o elementos con dudosa utilidad para la clasificaci´on (seen.live, to-check).
Todo ello dificulta a´un m´as la extracci´on de relaciones entre los usuarios y los elementos
a recomendar.
El uso de los tags en s´ı es otro problema: algunos tags est´an muy extendidos, como
rock en el dominio musical, mientras que otros son utilizados raramente (por ejemplo,
melodic heavy metal). Esto hace que la distribuci´on de los t´erminos var´ıe y por tanto
deban tomarse medidas apropiadas al explotar los datos derivados de los tags, tales como
el filtrado de los tags menos importantes o la agrupaci´on de tags similares.
3.3. Sistemas de Recomendaci´on Musical
El fin ´ultimo de un sistema de recomendaci´on es elaborar predicciones para un usuario
concreto del sistema, utilizando para ello los perfiles de los dem´as usuarios existentes. Las
recomendaciones consisten en informaci´on que se considera que puede ser de su inter´es,
y que no hubiera sido capaz de obtener por s´ı mismo de forma sencilla.
La informaci´on utilizada para la decisi´on de qu´e contenido recomendar puede haber
sido obtenida de forma impl´ıcita registrando las acciones del usuario o expl´ıcitamente
solicit´andole que eval´ue su inter´es por un cierto contenido. En la actualidad, debido al
aumento de la informaci´on existente sobre los intereses de los usuarios, los sistemas de re-
comendaci´on est´an presenten en muchas comunidades online, bien para la recomendaci´on
de compras (Amazon), contenidos multimedia (Netflix) o gustos musicales (Last.fm).
3.3.1. El problema de la recomendaci´on
En general, podemos describir el problema de la recomendaci´on de contenidos a los
usuarios como la b´usqueda del conjunto ´optimo de elementos que un usuario desea en-
contrar disponiendo de un intervalo de tiempo limitado, de forma que no es posible la
evaluaci´on sistem´atica de todos ellos. En la actualidad, los sistemas de recomendaci´on
m´as avanzados han sido desarrollados con ´exito para la industria del entretenimiento,
como pel´ıculas, m´usica o libros (Herlocker et al.[32]).
38
Podemos dividir el problema de la recomendaci´on en dos subproblemas diferentes:
el primero es un problema de predicci´on, relacionado con la estimaci´on del grado de
aceptaci´on de un ´ıtem por parte de un usuario en concreto. Por otra parte, el segundo
problema es recomendar una lista de N elementos a un usuario suponiendo que el sistema
es capaz de predecir el grado de aceptaci´on de nuevos elementos. Ambos comparten la
necesidad de obtener dicha estimaci´on. Una vez que el sistema puede estimar elementos
de un conjunto, el problema de la recomendaci´on se limita a ordenar los elementos y
escoger los N primeros con mayor valor de precisi´on.
Formalmente podemos describir el problema de la predicci´on de la siguiente manera:
sea U = {u1, u2, . . . un} el conjunto de todos los usuarios, e I = {i1, i2, . . . in} el
conjunto de todos los posibles items a recomendar.
Cada usuario tiene una lista de Iui
items, que representa los items sobre los que
el usuario ha mostrado inter´es (puede ocurrir que Iui
= ∅). La funci´on Pua,ij
es la
aceptaci´on predicha del item ij para el usuario elegido ua, siendo ij /∈ Iui
.
El problema de la recomendaci´on se reduce a proporcionar una lista de N elemen-
tos, Ir ⊂ I, que agraden al usuario (por ejemplo, aquellos con mayor valor Pua,ij
).
Idealmente la lista de recomendaciones no deber´ıa contener elementos que sean del
inter´es del usuario, es decir, Ir ∩ Iui
= ∅.
El conjunto resultante de elementos recomendados puede ser muy grande, al igual que
el conjunto de usuarios U. En la gran mayor´ıa de sistemas de recomendaci´on la funci´on de
predicci´on se representa mediante una puntuaci´on que puede ser un n´umero real (entre
0 y 1), un valor en un rango concreto (por ejemplo entre 1 y 6), o un valor binario
(normalmente aceptaci´on/rechazo). Existen diversos m´etodos para resolver el problema
de la recomendaci´on, algunos de los cuales describimos en el siguiente apartado.
3.3.2. M´etodos de recomendaci´on musical
La construcci´on de un sistema de recomendaci´on debe afrontar diversos retos; entre
ellos, el manejo de la base de datos a utilizar, ya que se hace necesario utilizar gran
cantidad de datos para poder realizar predicciones precisas, as´ı como describir qu´e atributos
describen mejor a los usuarios teniendo en cuenta los objetivos planteados.
Hay que tener en cuenta que aunque el sistema sea capaz de realizar predicciones, ´estas
s´olo se pueden proporcionar bas´andose en estad´ısticas obtenidas del conjunto de datos,
lo que hace necesario disponer de datos de calidad que reflejen diversos escenarios y tipos
de usuarios.
En el caso concreto de los sistemas de recomendaci´on en redes sociales centradas en
contenidos musicales (Last.FM por ejemplo) la recomendaci´on autom´atica de m´usica se
convierte en una herramienta muy importante para descubrir nueva m´usica que encaje con
los gustos de un usuario.
A continuaci´on describimos algunas de las t´ecnicas m´as utilizadas para la construcci´on
de sistemas de recomendaci´on musical. Cada una de ellas se centra en una parte concreta
de la informaci´on disponible.
39
Filtrado demogr´afico
El filtrado demogr´afico puede ser utilizado para identificar el tipo de usuarios que poten-
cialmente valoran cierto´ıtem. Por ejemplo, se puede esperar descubrir qu´e tipo de persona
prefiere un cierto artista. Esta t´ecnica clasifica los perfiles de usuario en grupos de acuer-
do a ciertos criterios extra´ıdos de los datos personales de los usuarios (edad, estado civil,
sexo, etc.), datos geogr´aficos (ciudad, pa´ıs), o psicolo´gicos (intereses, hobbies, etc.).
El principal inconveniente es que proporciona resultados muy generales; adem´as de que
en muchas ocasiones se trabaja con informaci´on incompleta de los usuarios, ya que ´estos
no siempre proporcionan datos demogr´aficos, bien porque el sistema no lo permite, o bien
porque ellos mismos no permiten que se pueda consultar dicha informaci´on.
Filtrado Colaborativo
El filtrado colaborativo (CF) predice preferencias de los usuarios sobre los ´ıtems estu-
diando las relaciones usuario-items pasadas. Es decir, el usuario proporciona informaci´on
al sistema de forma que ´este puede predecir en funci´on de la evaluaci´on que han hecho
otros usuarios del item.
Los m´etodos de filtrado colaborativo se basan en la construcci´on de una matriz de
preferencias de usuarios de forma que cada fila representa el perfil de un usuario, y las
columnas los elementos a recomendar. El elemento Rui ,ij
es la valoraci´on del usuario ui
para el elemento ij .
Dentro del filtrado colaborativo podemos distinguir dos grandes grupos:
Vecindad entre usuarios (User-based neighbourhood): los valores predichos del ´ıtem
i, para predecir Ru,i se obtienen a partir de las medias de valores para el mismo´ıtem
i de los usuarios similares a u.
Esta aproximaci´on tambi´en recibe el nombre de filtrado colaborativo basado en usuar-
ios. El algoritmo toma como entrada el conjunto de usuarios potencialmente sim-
ilares, una forma de medir dicha similitud (por ejemplo, la distancia eucl´ıdea), y el
n´umero k de usuarios a tomar en consideraci´on. Generalmente con estos datos se
utiliza un algoritmo de clustering, como k-medias, para asignar el usuario a un grupo
y a partir del mismo obtener los mencionados k vecinos.
Vecindad entre ´ıtems (item-based neighbourhood): aplica la misma idea que el an-
terior m´etodo pero en lugar de utilizar usuarios recurre a los ´ıtems que el usuario ha
valorado anteriormente para decidir si un determinado ´ıtem i debe ser recomendado
o no al usuario.
Los sistemas de recomendaci´on autom´atica suelen utilizar t´ecnicas de filtrado colabora-
tivo para recomendar m´usica bas´andose en los gustos musicales de otros usuarios. Aunque
generan buenas recomendaciones plantean algunos inconvenientes, como el denominado
problema del arranque en fr´ıo: es necesario cierto volumen de informaci´on antes de generar
40
recomendaciones, por lo que para un nuevo artista o un artista poco conocido, un sistema
basado en CF no puede generar recomendaciones. Otro problema es la falta de trans-
parencia en las recomendaciones (Herlocker et al.[31]), ya que dichos sistemas no pueden
justificar una recomendaci´on mas all´a de “personas que escuchan X tambi´en escuchan
Y”.
Filtrado basado en el contexto
Podemos definir contexto como cualquier informaci´on que pueda ser utilizada para
caracterizar la situaci´on de una entidad. El filtrado basado en el contexto (Context-based
filtering, CB), utiliza informaci´on contextual para definir y caracterizar los ´ıtems.
De entre las numerosas t´ecnicas existentes destacamos dos de gran actualidad: web-
mining y el etiquetado social.
Las t´ecnicas de webmining intentan descubrir informaci´on ´util a partir del an´alisis de
las p´aginas web as´ı como del uso de las mismas. Abarca el an´alisis del texto y contenido
multimedia en general (web content mining), el estudio de c´omo se relacionan entre s´ı las
p´aginas webs a trav´es de enlaces y conforman topolog´ıas web (web structure mining), y la
forma en que se utilizan las webs mediante el an´alisis de los archivos de conexiones (logs)
que permiten descubrir h´abitos y preferencias de los usuarios (web usage mining).
Por otra parte el llamado etiquetado social (social tagging) se basa en que el contenido
web sea etiquetado mediante tags que aporten informaci´on contextual adicional. Por ejem-
plo, tomemos la recomendaci´on de m´usica basada en la similitud de los tags utilizados
para describir los recursos musicales. Dado que estos tags son asignados libremente por
los usuarios observando un conjunto relativamente grande de tags, utilizados por miles
de usuarios, aparece una visi´on del artista o canci´on mucho m´as global y descriptiva, no
solamente en la dimensi´on musical sino tambi´en en otras de tipo cultural y social.
La Figura 3.1 muestra los 12 tags m´as utilizados para describir a la banda “Coldplay”
en la red social Last.FM.
Tag Freq Tag Freq Tag Freq
Rock 4911 Indie 2121 Electronica 160
Alternative 4016 Seen Live 940 Mellow 158
Pop 3147 Favourite 278 Punk 155
British 2659 Chillout 269 UK 79
Cuadro 3.1: 12 tags m´as utilizados para Coldplay
Podemos observar como los usuarios han utilizado tags referentes al g´enero musical
(Pop, Rock, etc.) junto con tags sobre el estado de ´animo (mellow (relajante, chillout),
preferencias (favourite, seen.live), o pa´ıs (UK). Con este conjunto de tags y sus frecuen-
cias obtenemos una visi´on mucho m´as completa sobre Coldplay que con un sistema de
clasificaci´on musical tradicional: “una banda de estilo pop-rock”. La asignaci´on individual
41
de tags por parte de cada usuario ha llevado a la obtenci´on de informaci´on de m´as alto
nivel sin necesidad de una gu´ıa previa (como ser´ıa un conjunto de tags predefinidos).
3.3.3. Recomendaci´on musical basada en dimensiones
Los sistemas de recomendaci´on musical basados en el contexto, como ya se ha comen-
tado anteriormente, recurren al uso de tags asignados libremente por parte de los usuarios.
Esto presenta la ventaja de proporcionar una poderosa herramienta con la que nutrir con
metainformaci´on sem´antica los contenidos; sin embargo, presenta los inconvenientes de
polisemia y redundancia citados en la secci´on anterior.
En los sistemas de recomendaci´on musical generalmente los usuarios tienen asignados
una serie de artistas favoritos, bien porque lo han indicado expl´ıcitamente o porque el
sistema lo ha deducido de las listas de audiciones del usuario. Estos artistas tienen a su
vez una serie de tags asociados, y para cada uno de ellos el sistema mantiene el n´umero
de artistas a los que referencia, ya que un mismo tag puede ser utilizado para etiquetar
m´ultiples artistas.
Figura 3.1: Proceso de elaboraci´on de las dimensiones de los usuarios
Si se relacionan los usuarios con sus artistas preferidos, y ´estos ´ultimos con sus tags
asociados, podemos obtener para cada usuario una lista no ya simplemente de sus tags, sino
del conjunto de todos los tags utilizados para los artistas que tiene asociados. El conjunto
de todos estos tags para un usuario en concreto nos proporciona metainformaci´on del
usuario en cuesti´on.
Definimos la dimensi´on musical de un artista como un n´umero entero, resultado del
agrupamiento de los tags, y que tiene en cuenta tanto el n´umero de tags agrupados como
el n´umero de referencias de dichos tags sobre el artista.
A continuaci´on, detallamos el proceso para la elaboraci´on de las dimensiones musicales
de un artista, reflejado en la Figura 3.1:
1. Tomamos T como el total de tags del conjunto de datos, t1 . . . tn ∈ T, y r1 . . . rn el
n´umero de veces que es utilizado el tag en el sistema.
2. Sea M un m´etodo de agrupaci´on de forma que se obtengan m1 . . . mm clusters de
tags agrupados por un cierto criterio. Idealmente m << n.
42
3. las dimensiones d1 . . . dm se construyen de la siguiente manera:
di = k
1 rk , siendo k el total de tags en cada agrupamiento (dimensi´on).
Es decir, cada una de las dimensiones se calcula a partir del total de tags que contiene
y el n´umero de veces que cada tag es referenciado. El m´etodo de agrupamiento M no
est´a definido y puede variar seg´un las necesidades del problema. Conviene escoger uno que
agrupe los tags convenientemente, ya que de la calidad del agrupamiento depender´a la
calidad del resultado de los m´etodos que se utilicen posteriormente.
El c´alculo de las dimensiones puede aplicarse tanto a artistas como a usuarios:
artistas: las dimensiones de un artista se obtienen directamente a partir de los tags
como hemos visto anteriormente.
usuarios: la dimensi´on i de un usuario (di ) se calcula a partir de las hom´onimas
dimensiones de los k artistas escuchados por el usuario:
di = k
1(audsk ∗akdi
) , siendo audsk el n´umero de veces que ha escuchado al artista
ak , y akdi
el valor de la dimensi´on i del mismo.
Es decir, una vez que tenemos las dimensiones de los artistas, las dimensiones de un
usuario pueden ser obtenidas f´acilmente en funci´on de los artistas que escucha y el n´umero
de veces que lo ha hecho.
El uso de las dimensiones facilita el manejo de la informaci´on y puede servir como
base para posteriores pruebas de clasificaci´on o elaboraci´on de perfiles. El valor de las
dimensiones ser´an n´umeros enteros, por lo que dependiendo del m´etodo que se desee
aplicar puede ser conveniente transformarlas (por ejemplo normaliz´andolas en el intervalo
0-1).
Finalmente hay que destacar que el c´alculo de las dimensiones no aporta nueva infor-
maci´on m´as all´a de la calidad de la informaci´on introducida en el etiquetado de tags; por
ejemplo, agrupar tags similares entre s´ı ayuda a mitigar los efectos de la polisemia y las
etiquetas redundantes siempre que ´estas aparezcan juntas frecuentemente y por lo tanto
el m´etodo de agrupamiento M haya sido capaz de agruparlas en el mismo cluster.
43
Cap´ıtulo 4
El caso de Last.FM
En este cap´ıtulo llevamos a cabo el estudio de un conjunto de datos extra´ıdos de una
red social de amplia difusi´on en Internet como es Last.FM 1
.
Last.FM es una red social especializada en m´usica que adem´as proporciona servicios
de radio online y de recomendaci´on autom´atica bas´andose en los datos env´ıados por
los usuarios registrados. En la radio de cada usuario se pueden seleccionar las canciones
seg´un preferencias personales, y el sistema es capaz de sugerir al usuario otras nuevas
bas´andose en sus reproducciones anteriores y las de usuarios con perfiles similares. Los
artistas, adem´as de informaci´on sobre su trayectoria, tambi´en tienen asignadas una lista
de tags, elaborada por un sistema autom´atico (Audioscrobbler) en funci´on del total de
tags asignados por los usuarios a dicho artista. Un tag no es m´as que una etiqueta, que
proporciona informaci´on adicional sobre el artista (por ejemplo, g´enero musical, idioma,
pa´ıs de origen, entre otros).
4.1. Obtenci´on de datos
Para obtener el conjunto final de datos se unificaron previamente dos conjuntos de
datos obtenidos de forma independiente en intervalos de tiempo distintos.
conjunto LastFM-ArtistTags2007 2
: obtenido en el a˜no 2007, contiene principal-
mente informaci´on sobre artistas musicales y sus tags asociados; contiene datos de
20000 artistas. El hecho de que sea del a˜no 2007 no influye significativamente (salvo
por el hecho de que no contiene los artistas m´as actuales), ya que la informaci´on
asociada a ´estos no sufre grandes cambios a lo largo del tiempo en el sistema de
Last.FM. En este documento nos referiremos a este conjunto como lm-artistas.
conjunto LastFM-360k 3
: obtenido en el a˜no 2008, proporciona informaci´on sobre
aproximadamente 360000 usuarios y sus artistas favoritos en Last.FM. Nos referire-
mos a este conjunto como lm-usuarios.
La fusi´on de los dos conjuntos fue posible gracias a que la informaci´on referente a los
artistas existente en ambos inclu´ıa el identificador utilizado en la base de datos MusicBrainz
1
http://www.last.fm
2
http://musicmachinery.com/2010/11/10/lastfm-artisttags2007/
3
http://www.dtic.upf.edu/ ocelma/MusicRecommendationDataset/lastfm-360K.html
44
4
, una base de datos online de libre acceso y amplia difusi´on que contiene informaci´on sobre
artistas y sus obras. El identificador utilizado en este sistema (MBID) es un´ıvoco para cada
artista, por lo que puede utilizarse como clave en un conjunto de datos. Esto hace que sea
frecuentemente utilizado por la comunidad investigadora cuando se manejan conjuntos de
datos que involucran artistas musicales, ya que se tiene la certeza de que los identificadores
son ´unicos.
4.2. Datos iniciales
Last.FM, como muchas otras comunidades online, proporciona acceso libre a la informa-
ci´on contenida en sus sistemas a trav´es de un servicio de API (Application Programming
Interface) que define un protocolo de comunicaciones, de forma que la informaci´on almace-
nada en la red social puede ser consultada de forma automatizada mediante herramientas
inform´aticas.
Si bien es cierto que se establece una cuota de acceso m´aximo por hora, nada impide
consultar y guardar dicha informaci´on. Esto permite construir conjuntos de datos person-
alizados, almacenando la informaci´on que se considere de inter´es, siempre y cuando su
uso est´e aceptado dentro de lo estipulado en los T´erminos de Uso 5
.
La Tabla 4.8 proporciona una descripci´on de los datos contenidos en el conjunto de
datos lm-artistas.
Nombre Descripci´on Tipo
MBrainz MBID String
Nombre Nombre del artista String
Tag tag asociado al artista String
Ocurrencias n´umero de veces asociado al tag Entero
Cuadro 4.1: Conjunto de datos lm-artistas
Para cada artista se indica el tag asociado, y tambi´en el n´umero de veces que ha sido
asociado a dicho tag (ocurrencias).
A continuaci´on, la Tabla 4.2 proporciona informaci´on sobre los datos contenidos en el
segundo conjunto de datos, lm-usuarios.
4
http://www.musicbrainz.org
5
http://www.last.fm/api/tos
45
Nombre Descripci´on Tipo
ID identificador ´unico del usuario string
Sexo sexo del usuario string
Edad edad del usuario number
Pa´ıs c´odigo del pais del usuario number
Fecha fecha de alta en el sistema date
Artistas artistas del usuario List<String>
Escuchado n´umero de veces escucha artista List<number>
Cuadro 4.2: Conjunto de datos lm-usuarios
Algunos atributos como el sexo, la edad o el pa´ıs pueden ser datos faltantes ya que
proporcionarlos o no depende de la voluntad del usuario. Otros como la fecha de alta en
el sistema, los artistas escuchados por el usuario, y el n´umero de veces que lo ha hecho
son datos generados por el sistema por lo que no presentan observaciones faltantes.
El volumen de los datos contenidos en los dos conjuntos de prueba originales, antes de
preprocesarlos para prepararlos al estudio, es el siguiente. Para lm-artistas:
Nombre N´umero
Artistas 20907
Tags 100784 (´unicos)
Cuadro 4.3: Volumen de datos en lm-usuarios
Para el conjunto lm-usuarios:
Nombre N´umero
Artistas con MBID 186642
Artists sin MBID 107000
Usuarios 359347
Relaciones usuario-artista 17559530
Cuadro 4.4: Volumen de datos en lm-artistas
4.3. Preprocesamiento
Una vez obtenidos los conjuntos de datos, el siguiente paso es prepararlos para el an´ali-
sis. Esta fase de preprocesamiento abarca desde fases m´as sencillas como la eliminaci´on
de observaciones incompletas, pasando por la eliminaci´on de duplicidades, hasta tareas
mas complejas como la correcta estructuraci´on de los datos y su organizaci´on de forma
coherente.
46
A continuaci´on describimos los pasos seguidos para preprocesar los conjuntos de datos.
En el caso que nos ocupa esta tarea ha sido bastante intensiva ya que ha sido necesario
unir los dos conjuntos iniciales, que ya de por s´ı eran bastante amplios, y prestar especial
atenci´on a la integridad de los datos resultantes, especialmente a los identificadores de
artistas y a la unicidad de los tags.
El preprocesamiento realizado puede dividirse en dos fases: una inicial donde nos hemos
centrado en lograr la uni´on de ambos conjuntos de datos asegurando que los datos son
consistentes, y una segunda fase donde se han modificado las variables atendiendo a su
naturaleza (ordinal, escalar o nominal), para adecuar los datos a los an´alisis que se realicen
posteriormente.
La primera parte, fusi´on de ambos conjuntos de datos, ha inclu´ıdo las siguientes tareas:
1. Eliminaci´on de todos los artistas de lm-artistas carentes de un identificador MBrainz
(ya que sin dicho valor no pueden ser relacionados con los datos del conjunto lm-
usuarios).
2. Reducci´on del conjunto de tags prestando atenci´on a cu´ales aportan m´as informaci´on
y cu´ales no son significativos. En el conjunto lm-artistas se observa que el tag m´as
utilizado es ’rock’, con 440854 referencias, mientras que el menos referenciado es el
tag ’003’ con una ´unica referencia. La gran mayor´ıa de los tags contienen una ´unica
referencia (el 60 %).
Se decide eliminar los tags que tengan menos de 1000 referencias, es decir que
no etiqueten al menos al 5 % de los artistas de lm-artistas. Esto reduce los tags
disponibles a 464 (un 1 % del total inicial).
3. Siguiendo con el estudio de los tags en lm-artistas, analizamos los 464 obtenidos y los
agrupamos ya que muchos son en la pr´actica hom´onimos (como por ejemplo color
y colour) o denotan el mismo estilo musical pero con expresiones diferentes (por
ejemplo, ’rock’ y ’Rock’, ’classic-rock’ y ’classical-rock’). Esto nos deja finalmente
con 188 tags ´unicos.
4. Eliminamos de lm-artistas nuevamente todos los artistas que no contengan ninguno
de los tags restantes del apartado anterior, lo que nos deja finalmente 12148 artistas
(un 60 % de los iniciales).
5. Con el conjunto de artistas ya definido, procedemos a procesar el conjunto de usuar-
ios en lm-usuarios. Comenzamos eliminando todos los gustos (referencias de artistas
para un usuario) que hagan referencia a artistas que no existan en el nuevo conjun-
to lm-artistas creado anteriormente; esto nos deja con el 26 % de las referencias
usuario-artista existentes en el conjunto inicial.
6. Filtramos nuevamente lm-usuarios suprimiendo los usuario que, como resultado del
paso anterior, ya no referencien a ning´un artista de lm-artistas (obtenemos 178513
usuarios, aproximadamente el 50 % de los usuarios iniciales).
7. Eliminamos los pa´ıses que no est´an referenciados en el conjunto lm-usuarios.
47
8. Finalmente, por motivos de rendimiento y capacidad de c´alculo tomamos un sub-
conjunto de lm-usuarios. En concreto, seleccionamos los primeros 50.000 usuarios
con m´as artistas etiquetados, lo que constituir´a nuestro conjunto definitivo de datos
a estudiar.
Llegados a este punto, ambos conjuntos de datos pueden ser unidos bajo una ´unica
estructura de datos tomando como clave de cada artista el identificador MBID de Mu-
sicBrainz.
A continuaci´on, detallamos los pasos realizados en la segunda fase del preprocesamiento,
centrada en la adecuaci´on del conjunto de datos:
1. Se a˜nade un identificador num´erico a todas las observaciones para facilitar su ma-
nipulaci´on.
2. Para cada artista se a˜nade un vector de 188 variables num´ericas (una por cada tag):
v1 . . . v188; vi = n´umero de veces que el tag aparece asociado al artista.
El vector num´erico tambi´en puede ser visto como un indicador binario de si el artista
se asocia con cierto tag (un valor mayor que cero) o no (cero).
3. El atributo Edad se recodifica como una variable categ´orica que toma los siguientes
valores:
C´odigo Edad
0 [ <=25 ]
1 [26-40]
2 [ > 40)
Cuadro 4.5: Recodificaci´on del atributo Edad
4. El atributo Pa´ıs se recodifica como una variable categ´orica. Se agrupan los 238
pa´ıses iniciales en 9 regiones geogr´aficas. Debido al gran n´umero de usuarios en
Europa, se decidi´o dividir ´esta en tres subregiones adicionales.
Regi´on
Europa Occidental Europa del Este Norte de Europa
Norteam´erica Sudam´erica Australia
´Africa Oriente Medio Asia
Cuadro 4.6: Recodificaci´on del atributo Pais en regiones geogr´aficas
48
4.4. Descripci´on del modelo de datos
En esta secci´on proporcionamos una descripci´on del modelo de datos que utilizaremos
para representar la informaci´on contenida en el conjunto de datos definitivo, ahora que
ya ha sido preprocesado y est´a listo para el an´alisis inicial. Tambi´en haremos un recorrido
por cada una de las partes del modelo analizando descriptivamente los datos para ayudar
a determinar los posteriores an´alisis estad´ısticos a realizar.
La Figura 4.1 muestra la estructura l´ogica del modelo de datos, (que coincide con la
estructura f´ısica, ya que los datos se encuentran divididos en varios ficheros independientes
de forma an´aloga).
Los recuadros delimitan datos provenientes de cada uno de los conjuntos de datos iniciales
(lm-artistas y lm-usuario).
Figura 4.1: Modelo L´ogico
A continuaci´on damos una descripci´on de los datos contenidos en cada parte del modelo,
detallando el n´umero resultante de observaciones, el tipo de dato y su naturaleza (ordinal,
escalar o nominal). Constituyen el conjunto de datos que se utilizar´a para el estudio, ahora
que ya est´a preparado para ser analizado.
49
Nombre Descripci´on Tipo Observaciones
Tag
ID identificador escalar 188
Nombre etiqueta descriptiva nominal 188
Artist
ID identificador escalar
12148Nombre nombre del artista nominal
T1 . . . T188 tags entero(0,n)
User
ID identificador escalar
50000
Sexo sexo del usuario categ´orica
Edad edad en a˜nos del usuario categ´orica
Registro fecha registro sistema escalar
Pa´ıs pa´ıs del usuario categ´orica
Gustos no
veces escucha un artista List<ID,entero> 1782312
Cuadro 4.7: Estructura de datos resultante
4.4.1. An´alisis descriptivo de los datos de tags y artistas
Comenzamos estudiando los datos relativos a artistas y sus tags asociados. En la Figura
4.2 se observan las frecuencias de aparici´on de los tags en el conjunto de datos as´ı como
el n´umero de tags por artista.
Figura 4.2: (1) Frecuencia de cada tag por su ID. (2) N´umero de tags para cada artista
50
En la primera figura se aprecia el ordenamiento realizado inicialmente de los tags aten-
diendo a su frecuencia, lo que explica la curva. Los picos que aparecen corresponden a
aquellos tags que han sido utilizados para aglutinar tags m´as minoritarios, como se ha
descrito anteriormente en el Preprocesamiento (4.3)
4.4.2. Usuarios
factor(1)
count
1
0
10000
20000
30000
factor(sex)
0
1
2
Figura 4.3: Frecuencia de la variable Sexo
A continuaci´on realizamos un an´alisis de-
scriptivo de las variables relacionadas con
los usuarios.
En la Figura 4.3 se muestra la frecuencia
del atributo Sexo entre los usuarios recogi-
dos en el conjunto de datos. Como puede
apreciarse se tiene informaci´on del sexo
del aproximadamente 34 % de las observa-
ciones, no habi´endose especificado para los
restantes usuarios (correspondiente al valor
0).
Es un resultado no demasiado sorpren-
dente si tenemos en cuenta que especificar
este tipo de informaci´on en la comunidad
LastFM no es un requerimiento para hacer
uso de sus servicios.
La Figura 4.4 proporciona la distribuci´on del atributo Edad del conjunto de datos (datos
originales, sin categorizar).
edad
frecuencia
0
2000
4000
6000
8000
10000
12000
0 20 40 60 80
Figura 4.4: Distribuci´on de la variable edad
La primera columna corresponde con los
datos faltantes en Last.FM sobre la edad
de los usuarios, aproximadamente el 20 %
de los usuarios.
Al igual que sucede con el atributo Sexo,
no es obligatorio proporcionar la edad para
hacer uso del sistema, por lo que muchos
usuarios no lo hacen.
Observando los datos existentes pode-
mos ver que la inmensa mayor´ıa de los
usuarios del sistema se concentran en la
franja de edad comprendida entre los 15
y los 30 a˜nos, poblaci´on m´as propen-
sa a la utilizaci´on de redes sociales, re-
duci´endose r´apidamente al aumentar dicha
edad.
51
La siguiente variable demogr´afica a estudiar del conjunto de datos es la referente al pa´ıs
del usuario. Al igual que las anteriores, la inserci´on de dicha informaci´on es opcional. Sin
embargo en este caso, muchas veces los usuarios la indican ya que se suele utilizar como
factor en los sistemas de recomendaci´on musicales para sugerir nuevos temas. Debido
al preprocesado inicial, nuestros datos no contienen datos faltantes sobre el pa´ıs de los
usuarios.
La Figura 4.6 muestra la frecuencia de los 30 primeros paises atendiendo a la pertenencia
de los usuarios. Estos 30 paises representan aproximadamente el 80 % de los usuarios
totales de nuestro conjunto de datos, siendo el 20 % restante perteneciente a los otros
209 paises.
Se observa la predominancia de pa´ıses de habla anglosajona, junto a Alemania, pa´ıs donde
se fund´o originalmente Last.FM.
frecuencia
paises
Australia
Austria
Belgium
Brazil
Bulgaria
Canada
Chile
Czech−Republic
Finland
Germany
Greece
Guatemala
Iran−Islamic−Republic−of
Italy
Japan
Korea−Republic−of
Mexico
Netherlands
Norway
Poland
Portugal
Russian−Federation
Slovakia
South−Africa
Spain
Sweden
Thailand
Ukraine
United−Kingdom
United−States
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
0 2000 4000 6000 8000
Figura 4.5: Frecuencias del atributo Pa´ıs. Se muestran los 30 primeros pa´ıses con m´as usuarios.
52
La siguiente figura muestra el resultado al observar las frecuencias de las regiones
del atributo Pa´ıs, pero esta vez categorizando dicha variable en las 9 regiones descritas
anteriormente en la fase de Preprocesamiento.
region
count
0
5000
10000
15000
africa
asia
austr
eastE
northA
northE
orient
southA
westE
Figura 4.6: Frecuencias por categor´ıas del atributo Pa´ıs
Se observa claramente la predominancia de los pa´ıses europeos m´as occidentales, segui-
dos por Norteam´erica y Asia.
La ´ultima variable demogr´afica que queda por estudiar del conjunto de datos es la fecha
de registro, entendida como la fecha en la que el usuario se di´o de alta en Last.FM.
Dado que esta informaci´on es generada y almacenada autom´aticamente por el sistema,
no tiene el car´acter opcional de las anteriores (que pueden ser incluso falseadas por los
propios usuarios), y no presenta datos faltantes.
La Figura 4.7 muestra la distribuci´on de las fechas de alta de los usuarios del conjunto
de datos; coincide bastante con la evoluci´on hist´orica de Last.FM a´un trat´andose de una
muestra reducida de sus usuarios. Puede observarse una tendencia alcista que se inicia a
finales de 2004, fecha en que comienza a conocerse la red social, fundada en 2002.
53
Figura 4.7: Distribuci´on de la variable logins de los usuarios recogidos en el conjunto de datos.
Un segundo periodo de crecimiento se observa a finales de 2007, coincidiendo con el
anuncio de la adquisici´on de Last.FM por parte de ViaCom 6
.
Posteriormente se observa una reducci´on en el n´umero de altas a principios de 2009, tras
el anuncio de que LastFM comenzaba a cobrar en algunos pa´ıses por su servicio (lo que
llev´o incluso al incremento del n´umero de bajas de usuario) 7
.
Como resultado de la uni´on de los dos conjuntos de datos se dispuso de un nuevo
atributo a estudiar, Gustos, de pares usuario-artista que indican el n´umero de veces que
un usuario ha inclu´ıdo a un cierto artista en su lista de reproducci´on.
Se trata de un atributo generado autom´aticamente por el sistema por lo que no existen
datos faltantes ni existe la posibilidad de falsearlos.
La Figura 4.8 muestra el histograma de las reproducciones de los usuarios del conjunto
de datos.
6
http://mashable.com/2007/04/27/lastfm-viacom/
7
http://news.bbc.co.uk/2/hi/technology/7963812.stm
54
audiciones
frecuencia
0e+00
1e+05
2e+05
3e+05
4e+05
5e+05
0 500 1000 1500 2000
Figura 4.8: Distribuci´on de la variable hits de los usuarios del con-
junto de datos.
Se puede observar que tiene un
marcado car´acter asim´etrico, de-
scendente a medida que aumenta
el n´umero de hits.
La media se sit´ua en aprox-
imadamante 235 audiciones, mien-
tras que el valor mediana se ubica
en 103 audiciones.
4.5. Obtenci´on de las dimensiones de los artistas
En esta secci´on realizaremos un an´alisis del conjunto de datos con mayor profundidad
para intentar descubrir si existen relaciones entre las distintas variables que nos permitan
extraer conclusiones m´as all´a de los resultados descriptivos b´asicos que hemos descrito en
el apartado anterior.
Debido a la gran cantidad de datos que se pueden extraer de las redes sociales, entre
otros objetivos nos planteamos agrupar las distintas variables mediante t´ecnicas como las
descritas en el Cap´ıtulo 2.
En primer lugar intentaremos reducir la dimensionalidad de las variables tags en el
conjunto de datos lm-artistas, teniendo como fin ´ultimo clasificar los artistas del mismo.
Posteriormente, intentaremos clasificar a los usuarios en funci´on de sus gustos sobre dichos
artistas.
4.5.1. Reducci´on de la dimensionalidad en el conjunto lm-artistas
Si analizamos la estructura del conjunto de datos del que disponemos vemos que los
tags ocupan un lugar de relevancia ya que son los elementos clave que aportan significado
al conjunto. Adem´as en ellos reside la informaci´on sem´antica sobre los tipos de artistas a
partir de la cual se puede llegar a estudiar a los propios usuarios.
55
An´alisis clustering
Comenzamos nuestro estudio analizando diferentes m´etodos de agrupamiento, o clus-
tering, buscando la forma de reducir la dimensionalidad de los 188 tags existentes con el
objetivo de construir las dimensiones que hemos expuesto en el cap´ıtulo anterior.
En primer lugar hemos intentado un agrupamiento mediante el algoritmo PAM (descrito
en el Cap´ıtulo 2). La Figura 4.9 muestra los diferentes valores del coeficiente silhouette al
variar el par´ametro k (n´umero de clusters) del m´etodo PAM. El mejor resultado se obtiene
para k igual a 2, con un coeficiente igual a 0.45, que si bien no es muy bueno, si indica la
existencia de cierta tendencia al agrupamiento.
nº clusters
coef.silhouette
0.0
0.1
0.2
0.3
0.4
q
q
q
q q q q q q
2 4 6 8 10
Figura 4.9: Evoluci´on del coef. Silhouette al aplicar PAM sobre el cjto de tags
Si observamos el gr´afico Silhouette de la Figura 4.10, para k igual a 2, vemos que la
explicaci´on es que el algoritmo ha agrupado en un cluster 7 tags, que coinciden con los
m´as utilizados, y en otro grupo los restantes 180 tags.
56
Silhouette width si
0.0 0.2 0.4 0.6 0.8 1.0
Silhouette PAM sobre tags
Average silhouette width : 0.45
n = 187 2 clusters Cj
j : nj | avei∈Cj si
1 : 8 | 0.16
2 : 179 | 0.47
Figura 4.10: Silhouette de PAM(k=2) sobre los tags
La calidad del agrupamiento por lo tanto es d´ebil; adem´as estamos interesados en
divisiones m´as profundas de los tags que permitan agrupar con mayor flexibilidad, por lo
que seguimos analizando los datos mediante otros m´etodos.
An´alisis PCA
El fin ´ultimo del agrupamiento de tags que buscamos es reducir la dimensionalidad de
los datos; esto nos lleva a recurrir a una conocida t´ecnica utilizada para este tipo de tareas
como es el an´alisis de componentes principales (PCA), descrito en el Cap´ıtulo 2.
Como paso previo realizamos el test KMO (Kaiser-Meyer-Olkin), que nos propor-
cionar´a una estimaci´on del ajuste de nuestros datos a un an´alisis PCA. El resultado (0.428)
nos indica que en principio nuestros datos no se adaptan bien a un an´alisis de este tipo
ya que deber´ıa ser superior a 0.5. Aplicamos PCA sobre el conjunto de datos lm-artistas
con una rotaci´on varimax para facilitar la interpretaci´on de los datos. La siguiente Figura
muestra el gr´afico de scores obtenido al aplicar PCA sobre el conjunto de tags.
57
Figura 4.11: Gr´afico de scores PCA del conjunto de tags
Observamos que se aprecian algunos tags muy cercanos, como los relacionados con
heavy-metal, o rock y seen.live. Sin embargo, los dem´as forman una nube de puntos sin
una direccionalidad clara.
Adem´as la primera componente explica un 18 % de la variabililidad total, mientras que
la segunda llega a un 5 %. Necesitar´ıamos escoger un gran n´umero de componentes para
llegar a explicar la variabilidad suficiente.
La Figura 4.12 muestra la evoluci´on de la variabilidad explicada por los primeros 7
componentes del PCA.
58
componente
variabilidad
0.05
0.10
0.15
q
q
q
q
q q
q
1 2 3 4 5 6 7
Figura 4.12: Variabilidad explicada en el PCA por cada componente
Mejorar la variabilidad explicada implicar´ıa tomar en consideraci´on un gran n´umero de
componentes (los 7 primeros llegan a un 37 %), lo que dificultar´a la interpretaci´on de los
mismos, impidiendo determinar claramente las agrupaciones de los tags, principal objetivo
de esta parte del an´alisis.
Estos resultados coinciden con lo observado inicialmente al obtener un valor KMO
inferior a lo aconsejable, por lo que continuamos el estudio aplicando otros m´etodos.
Clustering jer´arquico
La interpretaci´on de los resultados es una condici´on fundamental para poder entender
c´omo se agrupan los tags. Intuitivamente esperamos que una cierta cantidad (reducida)
de tags clasifiquen los principales estilos musicales, y que a partir de ellos se deriven otros
subestilos musicales etiquetados mediante otros tags m´as minoritarios.
Esta b´usqueda de estructura nos lleva a recurrir al clustering jer´arquico de los tags. De
entre las diferentes configuraciones posibles optamos por el modelo aglomerativo, haciendo
uso de la distancia eucl´ıdea y del m´etodo de Ward para el c´alculo de la distancia entre
observaciones y clusters, respectivamente, siendo ´esta una combinaci´on muy utilizada en
miner´ıa de datos.
Los resultados se adjuntan en la siguiente Tabla 4.13.
59
Figura 4.13: Clustering jer´arquico de los tags
60
Puede observarse que como resultado del clustering se obtienen varios agrupamientos,
distingui´endose claramente algunos, como por ejemplo la agrupaci´on de todos los tags
vinculados con metal, o los referentes a m´usica instrumental (donde se agrupan juntos
tags como instrumental, jazz, chillout) por ejemplo.
A la hora de determinar el n´umero de clusters buscamos un compromiso entre gen-
eralizaci´on y flexibilidad, teniendo en cuenta que el n´umero de agrupamientos debe ser
lo suficientemente descriptivo como para que sea ´util posteriormente para los m´etodos
que aplicaremos. Analizando los clusters resultantes y aplicando nuestro conocimiento
del problema (observando similitudes entre los tags) definimos 18 agrupamientos, que
hemos identificado seg´un el tag m´as representativo de cada uno (en el B se adjunta una
descripci´on detallada de cada agrupamiento):
metal experimental relax latin club celtic
rock hardcore pop electronica indie new.wave
hip.hop singer.songwriter letra classical instrumental dance
Cuadro 4.8: Dimensiones de los artistas, obtenidas a partir del clustering jer´arquico de los tags
Este agrupamiento nos servir´a a continuaci´on para elaborar las dimensiones de los
artistas, que nos permitir´an en ´ultima instancia calcular las dimensiones de los usuarios
del conjunto de datos.
4.6. Clustering de artistas y definici´on de perfiles
Debido a la gran cantidad de datos sobre gustos contenidos en la base de datos nos
centramos en el agrupamiento de los primeros 100 artistas m´as populares. Como variables,
para el agrupamiento utilizamos las 18 dimensiones de los artistas, apoy´andonos en los
resultados de la secci´on anterior.
Como resultado obtenemos el siguiente gr´afico silhouette fruto del agrupamiento en 6
grupos de los 100 artistas m´as populares:
61
Silhouette width si
0.0 0.2 0.4 0.6 0.8 1.0
Agrupamiento de los 100 artistas mas comunes
Average silhouette width : 0.54
n = 100 6 clusters Cj
j : nj | avei∈Cj si
1 : 17 | 0.40
2 : 22 | 0.55
3 : 27 | 0.73
4 : 17 | 0.48
5 : 8 | 0.52
6 : 9 | 0.33
Figura 4.14: Silhouette del agrupamiento de los 100 artistas m´as referenciados
Se observa que el resultado de las agrupaciones es aceptable (con un valor silhouette
global de 0.54) a excepci´on de la ´ultima (cluster 6) que presenta un ´ındice silhouette m´as
bajo (0.33).
El agrupamiento resultante plantea la duda del perfil de los artistas pertenecientes a cada
cluster, es decir, qu´e caracter´ısticas son comunes en los artistas de un determinado cluster.
Una forma de obtener m´as informaci´on es utilizar los tags asociados a cada artista para
obtener reglas de asociaci´on entre los tags que nos permitan conocer mejor los clusters
obtenidos.
Si utilizamos el algoritmo apriori de forma individual sobre los tags de los artistas de
cada conjunto obtenemos una lista de posibles reglas, ordenadas decrecientemente por su
valor de lift asociado.
A continuaci´on se muestran las reglas m´as significativas que han sido extra´ıdas de cada
cluster; hemos obtenido las reglas con un valor de support igual a 0.7 y confidence de 0.9.
El valor de lift obtenido para todas ellas es de 1.4.
62
Cluster 1 (Classic-rock)
{electronica, indie, favorites} ⇒ classic.rock
{classic.rock, electronica } ⇒ pop
Cluster 2 (Grunge)
{electronica, emo, progressive} ⇒ grunge
{emo, female.vocalist, electronica } ⇒ progressive
Cluster 3 (Pop-rock)
{alternative, pop} ⇒ rock
{alternative, seen.live } ⇒ pop
{pop, rock } ⇒ alternative
Cluster 4 (Electr´onica)
{electronica, emo, seen.live, female.vocalist} ⇒ indie
{emo, pop, jazz } ⇒ electronica
{pop, rock } ⇒ seen.live
Cluster 5 (Hip-hop)
{electronica, pop, trip.hop} ⇒ hip.hop
{alternative, hip.hop } ⇒ trip.hop
{electronica, favourite, indie, trip.hop } ⇒ alternative
Cluster 6 (Metal)
{classic.rock, gothic.metal, industrial, thrash.metal} ⇒ metal
{indie, industrial, metal } ⇒ gothic.metal
{gothic.metal, indie } ⇒ thrash.metal
Cuadro 4.9: Reglas de asociaci´on de los tags en cada cluster
Analizando las reglas obtenidas se puede obtener un perfil de los artistas en cada cluster,
lo que puede corroborarse intuitivamente analizando el nombre de los mismos. As´ı, en el
primer cluster se agrupan los artistas de estilo classic.rock (donde aparecen por ejemplo
Michael Jackson y U2), estilo grunge y pop-rock en el 2 y 3, mientras que el estilo
caracter´ıstico de los restantes clusters son electr´onica, hip-hop y metal, respectivamente.
4.7. Predicci´on del n´umero de escuchas
4.7.1. Elaboraci´on de las dimensiones de los usuarios
En nuestro conjunto de datos tenemos informaci´on sobre cada usuario y sus artistas
relacionados. Si tomamos las 18 dimensiones de cada artista que hemos utilizado anteri-
ormente, para cada usuario podemos construir las mismas 18 dimensiones a partir de sus
artistas asociados, obteniendo as´ı informaci´on sobre los gustos de los usuarios.
Una vez que tenemos las dimensiones de los usuarios elaboramos un tercer conjunto
de datos, a partir de los conjuntos existentes lm-artistas y lm-usuarios, denominado lm-
gustos, con la siguiente estructura:
63
Nombre Descripci´on Tipo
usuario id del usuario String
artista id del artista String
Du1. . . Du18 dimensiones del usuario Lista<Number>
Da1. . . Da18 dimensiones del artista Lista<Number>
auds n´umero audiciones totales usuario Number
artistauds n´umero reproducciones totales artista Number
cluster cluster en el que se clasifica el artista Number
veces audiciones del artista por el usuario Number
Cuadro 4.10: Conjunto de datos lm-gustos
4.7.2. Modelo Predictor
Un valor de utilidad que interesa obtener de un usuario es el n´umero esperado de
escuchas de un cierto artista. Con esta informaci´on, un sistema de recomendaci´on musical
puede determinar el potencial grado de aceptaci´on del artista por parte del usuario a trav´es
de una estimaci´on.
Definimos el porcentaje de escuchas de un usuario U sobre un artista A como:
P.EA/U = escuchasdeUporpartedeA
totalescuchasA
Vamos a construir un modelo predictivo de la variable PE para cada usuario del conjunto
lm-usuarios. Para ello recurrimos al uso de las redes neuronales. Planteamos un modelo
de red neuronal backpropagation, con las siguientes variables:
variable respuesta : el porcentaje de escuchas del usuario sobre el artista.
variables explicativas de usuario : las dimensiones musicales del usuario (18),
as´ı como el n´umero total de audiciones del usuario.
variables explicativas de artista : las dimensiones musicales del artista en cuesti´on
(18) a predecir, el n´umero total de audiciones del artista y el cluster al que ha sido
asociado en el agrupamiento de artistas, detallado en la secci´on anterior.
En el C adjuntamos la tabla de correlaciones entre las variables explicativas anteriores.
Vemos que existen algunas correlaciones por encima de 0.7. Como era de esperar, las
correlaciones existentes son entre las variables de usuario por un lado y las de los artistas
por otro.
Tomando en cuenta los 100 primeros artistas m´as populares, los gustos de los usuarios
en el conjunto lm-gustos nos arrojan un subconjunto de pruebas de alrededor de 400000
registros.
64
Para el estudio dividimos los datos en tres subconjuntos de entrenamiento, validaci´on y
testeo, con el 60 %, 10 % y el 30 % de los datos respectivamente, con el fin de utilizar el
primero en la fase de entrenamiento de la red neuronal, el segundo para estudiar diferentes
configuraciones de entrenamiento y el tercero en la fase final de testeo de los resultados.
Debido al gran tama˜no del conjunto de entrenamiento establecemos una m´aximo de 2000
iteraciones.
Una vez establecidas las variables de entrada y respuesta, los par´ametros a fijar son:
n´umero de neuronas en la capa oculta: dependiendo de cu´antas neuronas utilicemos
en la capa oculta la red neuronal presentar´a diferentes caracter´ısticas. Un n´umero
suficientemente grande proporcionar´a mayor flexibilidad a la red para predecir valores
pero puede provocar sobreentrenamiento (la red se adapta en exceso a los datos
utilizados en la fase de entrenamiento).
cambio en los pesos de las conexiones entre neuronas (decay): el factor en que se
modifican los pesos cuando se busca minimizar el error durante el entrenamiento.
Este valor incide tambi´en la flexibilidad de la red.
Como medidas del error recurrimos a dos f´ormulas habituales en la literatura: el error
RMSE y el error MAPE.
El error RMSE es una medida frecuentemente utilizada para medir las diferencias
entre los valores predichos por un modelo (estimador), y los valores reales observados
(estimados). El error RMSE se define como:
RMSE = (obs−pred)2
n
El error MAPE (porcentaje de error medio absoluto) da una idea m´as intuitiva del
error cometido, proporcionando un valor facilmente comprensible entre 0 y 1 que refleja
el porcentaje de error. La f´ormula utilizada para MAPE es la siguiente:
MAPE = 1
n ∗ n
t=1
obs−pred
obs
Para decidir qu´e configuraci´on de red neuronal utilizar realizamos un banco de pruebas
con diferentes valores para el n´umero de neuronas en la capa oculta y diversos valores de
decay; el error de validaci´on que utilizaremos es el error MAPE de la red sobre el conjunto
de validaci´on tras la fase inicial de entrenamiento. La Tabla 4.11 muestra los diferentes
valores utilizados:
Neuronas en la capa oculta
10 11 12 13 14 15 16 17 18 19 20
Decay
5e-2 5e-3 5e-4 5e-5
Cuadro 4.11: Valores utilizados para los par´ametros de la red neuronal
65
La Figura 4.15 muestra los resultados para los valores anteriores. Debido a la diferencia
de magnitud de los valores de decay el eje X se muestra en escala logar´ıtmica.
decay
%errorenvalidacion
0.40
0.42
0.44
0.46
0.48
−5 −4 −3 −2 −1 0 1
factor(n)
10
11
12
13
14
15
16
17
18
19
20
Figura 4.15: Errores de validaci´on MAPE para diferentes par´ametros de la red neuronal.
Observando la gr´afica decidimos escoger una red neuronal con una capa oculta formada
por 18 neuronas ocultas y un valor de decay igual a 5e-4, por ser esta la configuraci´on
que proporciona el menor error de validaci´on; las neuronas de la capa de entrada se
corresponden con las variables explicativas de usuario y artista (39), y en la capa de salida
existe una ´unica neurona, correspondiente a la variable respuesta, tal y como se detalla
en la Figura 4.16.
Figura 4.16: Esquema de la red neuronal utilizada para predecir no
de escuchas de un artista
66
Los resultados obtenidos se muestran en la siguiente tabla, expresados tanto en RMSE
como en MAPE para el conjunto de entrenamiento y testeo:
Entrenamiento Testeo
RMSE 0.1251 0.1486
MAPE 0.3452 0.3697
Cuadro 4.12: Errores obtenidos tras construir la red neuronal
El resultado de la evaluaci´on sobre el conjunto de testeo indica que nuestro modelo
aproxima con bastante (aproximadamente en un 63 % de las ocasiones).
4.8. Predicci´on del inter´es del usuario
De forma similar al apartado anterior, un dato que tambi´en interesa predecir es si un
usuario estar´ıa interesado o no en un determinado artista, principalmente en aquellos que
a´un no ha escuchado.
Desde el punto de vista de los sistemas de recomendaci´on esta informaci´on permite
sugerir nuevos artistas, desconocidos para el usuario bas´andose en informaci´on sobre los
gustos actuales del mismo, en lugar de proponer un artista al azar, proporcionando as´ı may-
or calidad a la recomendaci´on.
Un primer objetivo es definir la variables respuesta “Inter´es en un artista”. Para ello
cambiamos la variable anteriormente utilizada “n´umero de audiciones del artista”, y a
partir de su distribuci´on determinamos un valor umbral para asignar el inter´es del usuario
(si/no).
Como primer paso es necesario determinar cu´ando un usuario est´a interesado en un
artista. Podemos considerar que el inter´es de un usuario en un artista se refleja en el
n´umero de veces que lo ha escuchado. Por lo tanto, tomamos como valor frontera el
n´umero de audiciones de un artista que divide su distribuci´on en dos partes igualmente
probables, el valor mediana.
Como ejemplo ilustrativo tomemos la Figura 4.17, que muestra las audiciones para el
artista Pink Floyd:
67
Número de audiciones de Pink Floyd
audiciones
usuarios
0
200
400
600
800
1000
1200
0 200 400 600 800 1000 1200
factor(class)
10610
Figura 4.17: Distribuci´on de las audiciones para Pink Floyd
Adem´as de las audiciones, se se˜nala en verde el valor mediana de la distribuci´on; para
este artista est´a situado en 145 audiciones.
La Figura 4.18 muestra la distribuci´on del n´umero de audiciones para los 100 artistas
m´as escuchados.
Se observa que la distribuci´on para todos los artistas es muy similar, incluso cuando
entre el artista m´as escuchado, the beatles, en el primer lugar, y el ´ultimo, regina.spektor,
en el puesto 100, existen diferencias de popularidad bastante notables (10570 y 2232
audiciones respectivamente).
68
100 artistas mas populares
audiciones
usuarios
0
500
1000
1500
2000
0 200 400 600 800 1000 1200
Figura 4.18: Distribuci´on de las audiciones para los 100 artistas m´as populares
La Figura 4.19 muestra la distribuci´on de las medianas para los 100 artistas m´as pop-
ulares. Los valores de la misma est´an bastante delimitados entre 100 y 150 audiciones,
regi´on donde se encuentran la mayor´ıa de las medianas.
100 artistas mas populares
valor mediana
numeroartistas
0
1
2
3
4
5
6
50 100 150 200
Figura 4.19: Distribuci´on del valor mediana para las medianas de los 100 artistas m´as populares
69
Por lo tanto, utilizamos la mediana como valor discriminante para generar una nueva
variable respuesta para los gustos de cada usuario, un indicador que refleja si a un usuario
un artista que ha escuchado le gusta o no.
Con esta nueva variable, podemos plantear un modelo de predicci´on que nos proporcione
una forma de estimar la aceptaci´on de un nuevo artista por parte de un usuario que a´un
no lo haya escuchado.
En esta ocasi´on utilizaremos el clasificador Random Forest, por ser tradicionalmente
bueno en tareas de clasificaci´on. Planteamos nuevamente un conjunto de entrenamiento
y testeo a partir de los datos originales utilizando el 60 % de las observaciones para el
primero y el 40 % restante para el segundo.
Las variables utilizadas son:
variable respuesta : valor l´ogico 0/1 indicando que al usuario no gusta/gusta el
artista.
variables explicativas de usuario : las dimensiones musicales del usuario (18),
as´ı como el n´umero total de audiciones del mismo.
variables explicativas del artista : las dimensiones musicales del artista en cuesti´on
(18), el n´umero total de audiciones del artista y el cluster en el que ha sido clasificado
el artista.
Establecemos para el modelo random forest planteado que construya 400 ´arboles de
decisi´on distintos, valor superior al m´ınimo recomendado, 100 ´arboles. Este m´ınimo es el
requerido para alcanzar la suficiente variabilidad en los datos de entrada al construir dichos
´arboles.
Una vez finalizada la fase de entrenamiento, el modelo random forest nos proporciona
los resultados de la validaci´on sobre el conjunto de entrenamiento (ya que realiza un
submuestreo del mismo y para cada ´arbol deja muestras sin utilizar con este prop´osito).
Los resultados de dicha validaci´on se muestran en la siguiente matriz de confusi´on:
Real
Predicho No Gusta Gusta Total Error de Clasificaci´on
No Gusta
8827 2517 11344
78 % 22 % 22 %
Gusta
2110 10020 12130
17 % 83 % 17 %
Total 19.41 %
Cuadro 4.13: Matriz de confusi´on de random forest sobre el conjunto de datos de entrenamiento
De los resultados se desprende que el error medio es del 19.41 %, bastante bajo. A
continuaci´on, procedemos a validar el modelo random forest obtenido sobre el conjunto
de testeo, obteni´endose la matriz de confusi´on reflejada en la Tabla 4.14.
70
Real
Predicho No Gusta Gusta Total Error de Clasificaci´on
No Gusta
5830 2883 8713
67 % 33 % 33 %
Gusta
2510 4540 7050
35 % 65 % 35 %
Total 33.8 %
Cuadro 4.14: Matriz de confusi´on de random forest sobre el conjunto de datos de testeo
Si calculamos el error sobre el conjunto total de testeo obtenemos un acierto promedio
aproximadamente del 66 %, por lo que el modelo puede utilizarse para predecir el inter´es
del usuario.
A continuaci´on adjuntamos la tabla de importancia de variables obtenida como salida
del modelo random forest, donde podemos observar qu´e variables han contribu´ıdo en
mayor medida a construir el modelo. Esto puede verse analizando el ´ındice Gini, que en
nuestro caso indica qu´e variables contribuyen en mayor medida a reducir el error medio de
clasificaci´on.
La primera variable que destaca es el n´umero de escuchas del usuario, ya que es la que
m´as ayuda a reducir el error de predicci´on. A continuaci´on destacan las variables asociadas
a las dimensiones del usuario (cuyo identificador comienza por user.*),que tienen mayor
valor de importancia que las dimensiones del artista, en tercer lugar. Finalmente se puede
observar que las variables que contribuyen en menor medida son art.celtic y art.latin,
influenciadas por el hecho de que tienen menor presencia en los conjuntos de datos.
71
Value MeanDecreaseGini
user.auds 381.02678812202
user.club 271.051380764771
user.hip.hop 247.877381761386
user.experimental 244.907093524387
user.latin 241.883535948827
user.dance 240.865098330647
user.letra 240.792237792454
user.electronica 239.402507543564
user.rock 238.479538158041
user.new.wave 237.244795177601
user.pop 236.514344259245
user.hardcore 231.775937190805
user.relax 230.644818691032
user.instrumental 229.699681935491
user.classical 229.003613281837
user.punk 228.488146367587
user.celtic 228.132043388318
user.singer.songwriter 226.917936744555
user.metal 226.227180847446
art.punk 191.746230702326
art.letra 190.294529044121
art.hip.hop 186.976396013188
art.pop 185.591885437628
artist.listeners 182.837960958842
art.new.wave 180.603987093008
art.instrumental 179.429362924117
art.singer 178.789505573955
art.classical 177.347384461508
art.electronica 176.448493262272
art.dance 175.462424742522
art.rock 175.222219196703
art.metal 167.047490463964
art.hardcore 142.468698130127
art.club 120.205008835523
art.experimental 104.535887741420
art.relax 84.7320104607924
cluster 70.7339378031676
art.latin 58.9263263174385
art.celtic 26.0349598136337
Cuadro 4.15: Resultados de la validaci´on de random forest
72
Cap´ıtulo 5
Conclusiones y Trabajo Futuro
En este documento hemos visto c´omo es posible aplicar las t´ecnicas de miner´ıa de
datos tradicionales a un entorno de actualidad y creciente importancia comercial como es
el ´ambito de las redes sociales con resultados satisfactorios.
A lo largo del caso de estudio nos hemos encontrado con algunas diferencias respecto
a la forma en que se ha llevado el an´alisis. Para empezar, la fase de preprocesamiento
de datos ha adquirido mayor importancia ya que se ha necesitado invertir m´as tiempo de
lo esperado en la adecuaci´on de los datos, comprensible si tenemos en cuenta que los
conjuntos de datos se obtienen de fuentes externas, y no siempre est´an estructurados
para una explotaci´on directa con fines comerciales.
Por otra parte, en lo que inversi´on econ´omica se refiere, queda de manifiesto la alta
rentabilidad de este tipo de estudios ya que los datos necesarios han sido obtenidos a coste
cero, y cualquier conclusi´on que pueda obtenerse de los mismos es de por s´ı ventajosa.
Desde el punto de vista de la elaboraci´on de sistemas de recomendaci´on musical, hemos
visto c´omo un sistema de este tipo puede beneficiarse de las t´ecnicas estad´ısticas para
mejorar su eficiencia.
La metodolog´ıa que hemos propuesto, basada en la agrupaci´on de tags y la posterior
elaboraci´on de las dimensiones, permite abordar la complejidad inherente a los sistemas
de recomendaci´on basados en el contexto, donde debe establecerse una estrategia para
saber explotar la informaci´on contenida en la gran cantidad de tags proporcionados por
los usuarios.
La informaci´on contenida en las dimensiones nos ha permitido clasificar a los princi-
pales artistas del conjunto de datos, as´ı como crear modelos de predicci´on para mejorar la
precisi´on de las recomendaciones a los usuarios. Las herramientas estad´ısticas utilizadas
han ido desde modelos tradicionales como el an´alisis cluster y las redes neuronales has-
ta m´etodos m´as modernos como random forest, lo que demuestra la idoneidad de las
t´ecnicas estad´ısticas para mejorar la calidad de los sistemas de recomendaci´on, indepen-
dientemente del ´ambito en el que se encuentren, incluyendo los que prestan servicio de
forma interactiva y m´as din´amica en redes sociales como puede ser Last.FM.
Trabajos futuros pasan por la inclusi´on de este tipo de sistemas dentro de las her-
ramientas cotidianas utilizadas en el campo del marketing y la investigaci´on de mercados.
Los an´alisis que hemos llevado a cabo podr´ıan perfectamente realizarse en tiempo real
73
utilizando como fuente de datos informaci´on obtenida directamente de los servicios API
a trav´es de la Red.
Herramientas como el lenguaje R permiten disponer de recursos estad´ısticos a un coste
muy bajo, pudiendo incluso desarrollarse soluciones a medida de los requisitos planteados.
Por otra parte, la potencial informaci´on contenida en comunidades como Last.FM es
enorme; en este documento solamente hemos analizado la superficie del ingente abanico
de posibilidades que proponen. Por ejemplo, aspectos como el an´alisis de los tags y su
agrupaci´on pueden ser tratados con mayor profundidad para adecuarse a problemas m´as
espec´ıficos, a˜nadir la informaci´on referente a la dimensi´on social de los usuarios (cu´antos
contactos tiene, qu´e dice en sus mensajes) podr´ıan complementar los estudios realizados
en este documento. Finalmente, tambi´en podr´ıan aplicarse herramientas de visualizaci´on
para observar la estructura de los datos que sugieran nuevos enfoques.
74
Bibliograf´ıa
[1] Trevor Hastie, Robert Tibshirani and Jerome Friedman. The Elements of Statistical
Learning: Data Mining, Inference, and Prediction, Second Edition. Springer. Febrero
2009.
[2] Paolo Giudici. Applied Data Mining: Statistical Methods for Business and Industry .
Wiley, 2003.
[3] David J. Ketchen, Jr & Christopher L. Shook. The application of cluster analysis in
Strategic Management Research: An analysis and critique. Strategic Management
Journal 17 (6): 441 - 458. 1996.
[4] Robert L. Thorndike. Who Belong in the Family?. Psychometrika 18, Septiembre
1953.
[5] Peter J. Rousseeuw. Silhouettes: a graphical aid to the interpretation and validation
of cluster analysis. Journal of Computational and Applied Mathematics 20, 53-65.
1987.
[6] Pang-Ning Tan, Michael Steinbach and Vipin Kumar. Introduction to Data Mining.
Addison-Wesley, 2006.
[7] L. Breiman. Random forests Machine Learning, 45, 5-32, 2001.
[8] D. T. Phama, S. S. Dimov, and C. D. Nguyen. Selection of K in K-means clustering.
Cardiff University, UK, 2004.
[9] Hartigan, J. A. and Wong, M. A. Algorithm AS 136: A K-Means Clustering Algorithm.
Journal of the Royal Statistical Society, Series C. (Applied Statistics) 28 (1): 100-
108, 1979.
[10] Leonard Kaufman and Peter J. Rousseeuw. Clustering by means of medoids, 1987.
[11] Leonard Kaufman and Peter J. Rousseeuw. Finding Groups in Data: An Introduction
to Cluster Analysis. Wiley Series in Probability and Statistics, Mayo 2005.
[12] Diego Costa. Exploring last.fm community music listening habits for automatic artist
recommendation. Faculdade de Engenharia da Universidade do Porto. Porto, Portu-
gal.
[13] Oscar Celma Herrada. Music Recommendation and discovery in the long tail. Uni-
versidad Pompeu Fabra, Barcelona, 2008.
75
[14] Debbie Richards and Phillip Higgins. Mining Social Network Analysis Data. ACIS
2001 Proceedings. Paper 79, 2001.
[15] Qihong Liu, Changjie Tang, Shaojie Qiao, Qiwei Liu and Fenlian Wen. Mining the
Core Member of Terrorist Crime Group Based on Social Network Analysis. School of
Computer, Sichuan University, China, 2007.
[16] John M. Kleinberg. Challenges in mining social network data: processes, privacy,
and paradoxes. Proceedings of the 13th ACM SIGKDD international conference on
Knowledge discovery and data mining, Cornell University, 2007.
[17] COPLINK center: social network analysis and identity deception detection for law
enforcement and homeland security intelligence and security informatics: a crime
data mining approach to developing border safe research. Proceedings of the 2006
international conference on Digital government research, New York, NY, USA, 2006.
[18] Douglas Eck. Automatic Generation of Social Tags for Music Recommendation. Sun
Microsystems, 2007.
[19] Robert Jschke, Leandro Marinho, Andreas Hotho, Lars Schmidt Thieme and Gerd
Stumme. Tag Recommendations in Folksonomies. Proceeding PKDD 2007 Proceed-
ings of the 11th European conference on Principles and Practice of Knowledge Dis-
covery in Databases, 2007.
[20] Ya-Xi Chen, Sebastian Boring, Andreas Butz. How Last.fm Illustrates the Musical
World. Workshop on Visual Interfaces to the Social and SExploring last.fm com-
munity music listening habits for automatic artist recommendation emantic Web
(VISSW2010), 2010.
[21] Gregorio Ignacio L´opez L´opez y Francisco Javier Rodr´ıguez Donado. Sistemas de
Recomendaci´on Musical. Universidad Carlos III de Madrid,
[22] Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi
Motoda, Geoffrey J. McLachlan, Angus Ng, Bing Liu, Philip S. Yu, Zhi-Hua Zhou,
Michael Steinbach, David J. Hand, Dan Steinberg. Top 10 algorithms in data mining,
Springer-Verlag, London Limited, 2007.
[23] Pearson, K. On Lines and Planes of Closest Fit to Systems of Points in Space. 1901.
[24] I.T. Jolliffe. Principal Component Analysis, Second Edition. Springer Series in Statis-
tics, 2002.
[25] L. Breiman, JH. Friedman, RA. Olshen and CJ. Stone. Classification and regression
trees. Wadsworth, Belmont, 1984.
[26] Ward, J. H. Hierarchical grouping to optimize an objective function. Journal of Amer.
Statist. Assoc. 58: 236-244, 1963.
76
[27] Fayyad, U. M. Data mining and knowledge discovery: making sense out of data. IEEE
Expert, Octubre, p´aginas 20-25, 1996.
[28] J. Scott. Social Network Analysis: A Handbook, 2nd edition. Sage Publications, 1991.
[29] Danah Boyd and Nicole B. Ellison. Social network sites: Definition, history, and schol-
arship. Journal of Computer-Mediated Communication, 13(1), 2007.
[30] Harry Halpin, Valentin Robu, Hana Shepherd. The Complex Dynamics of Collabo-
rative Tagging. Proc. International Conference on World Wide Web, ACM Press,
2007.
[31] Jonathan L. Herlocker, Joseph A. Konstan, and John Riedl. Explaining collabora-
tive filtering recommendations. In Computer Supported Cooperative Work, 241-250,
2000.
[32] Herlocker, J. L., Konstan, J. A., Terveen, L. G., and Riedl, J. T. Evaluating collab-
orative filtering recommender systems. ACM Trans. Inf. Syst., 22(1):4-40, 2004.
[33] Rosenblatt, Frank. The Perceptron: A Probabilistic Model for Information Storage
and Organization in the Brain. Cornell Aeronautical Laboratory, Psychological Re-
view, v65, No. 6, pp. 386-408, 1958.
77
A. Conjunto de tags
seen-live rock alternative indie pop
punk metal electronica singer-songwriter folk
hip-hop classic-rock dance favorites emo
jazz hardcore hard-rock ambient experimental
80s rap chillout heavy-metal instrumental
industrial new-wave soundtrack 90s soul
funk techno death-metal acoustic trance
blues trip-hop reggae awesome grunge
metalcore thrash-metal ska psychedelic british
mellow house love gothic black-metal
screamo 00s oldies progressive idm
gothic-metal male-vocalists female-vocalist rnb lesser-known
doom-metal fun classical downtempo power-metal
guitar uk country favourite swedish
alt-country grindcore usa synthpop cool
stoner-rock latin english comedy check-out
canadian fir finnish 70s world
post-rock amazing nu-metal music noise
gay goth beautiful lounge french
dub lo-fi j-rock ebm shoegaze
darkwave pra power-pop emocore hardcore-punk
vocal symphonic-metal easy-listening pop-rock sexy
piano post-hardcore dark christian gothic-rock
60s thrash anime folk-metal industrial-metal
disco spanish fusion my-music political
drum-and-bass j-pop folk-rock scandinavian acid-jazz
emusic ska-punk melodic-metal atmospheric great-lyricists
melodic japan funny garage-rock happy
heavy beats germany viking-metal alternative-metal
relax new-age jrock soft-rock minimal
synth sweden avantgarde new-york melodic-hardcore
california dislike ethereal norwegian england
black relaxing glam-rock celtic dark-ambient
twee post-punk urban rockabilly polish
irish electroclash australian club prog
old-school genius industrial-rock hi-fidelity party
brazilian quirky psychedelic-rock check nice-elevator-music
Cuadro 5.1: Tags del conjunto de datos
78
B. Detalle del clustering jer´arquico de tags
Metal
industrial germany synthpop gothic ebm
darkwave goth gothic.rock heavy.metal death.metal
thrash.metal power.metal folk.metal viking.metal symphonic.metal
melodic.metal gothic.metal black.metal doom.metal
Experimental
dark atmospheric ethereal dark.ambient noise
avantgarde lesser.known canadian lo.fi shoegaze
fir
Relax
beautiful vocal easy.listening relax relaxing
Latin
world latin spanish pra piano
fusion
Club
gay sexy dub french synthk
beats minimal electroclash indietronica drum.and.bass
disco club party check
Celtic
new.age celtic irish
Rock
hi.fidelity nice.elevator.music power.pop emusic folk.rock
great.lyricists garage.rock glam.rock england post.punk
happy genius twee quirky soft.rock
california alt.rock urban new.york old.school
melodic prog psychedelic.rock rockability norwegian
black melancholic australian polish brazilian
Hardcore
metalcore screamo emocore post.hardcore nu.metal
finnish industrial.metal industrial.rock heavy alternative.metal
grindcore thrash hardcore.punk melodic.hardcore political
ska.punk
79
Pop
seen.live pop indie rock alternative
Electronica
electronica favourite
Indie
metal progressive punk emo hardcore
classic.rock hard.rock grunge
Hip.Hop
hip.hop rap
New.wave
soundtrack the90s british the80s new.wave
Singer.songwriter
favorites usa female.vocalist singer.songwriter folk
Letra
awesome love acoustic mellow reggae
ska dislike fun stoner.rock comedy
funny cool amazing christian music
uk english the00s pop.rock my.music
Classical
funk soul rnb male.vocalist blues
guitar country alt.country psychedelic classical
oldies the70s the60s
Instrumental
instrumental post.rock ambient experimental jazz
chillout trip.hop idm downtempo lounge
acid.jazz
Dance
dance trance techno house
80
C. Correlaciones
user.auds dim.metal dim.experimental dim.relax dim.latin dim.club
user.auds 1 0.51 0.56 0.62 0.36 0.65
dim.metal 0.51 1 0.24 0.11 0.07 0.3
dim.experimental 0.56 0.24 1 0.51 0.23 0.36
dim.relax 0.62 0.11 0.51 1 0.54 0.46
dim.latin 0.36 0.07 0.23 0.54 1 0.3
dim.club 0.65 0.3 0.36 0.46 0.3 1
dim.celtic 0.29 0.24 0.12 0.29 0.17 0.17
dim.rock 0.6 0.22 0.45 0.38 0.19 0.42
dim.hardcore 0.57 0.69 0.22 0.14 0.07 0.35
dim.pop 0.81 0.39 0.52 0.65 0.29 0.55
dim.electronica 0.68 0.44 0.52 0.57 0.23 0.74
dim.hip.hop 0.49 0.18 0.19 0.28 0.16 0.41
dim.punk 0.75 0.59 0.31 0.31 0.16 0.4
dim.new.wave 0.69 0.34 0.4 0.52 0.26 0.57
dim.singer.songwriter 0.68 0.18 0.6 0.77 0.57 0.45
dim.letra 0.82 0.27 0.51 0.72 0.34 0.51
dim.classical 0.57 0.16 0.33 0.42 0.25 0.35
dim.instrumental 0.53 0.19 0.58 0.66 0.23 0.54
dim.dance 0.57 0.27 0.25 0.37 0.22 0.75
cluster -0.01 0.09 0 0 0 0.01
art.metal 0.03 0.21 -0.02 -0.07 -0.03 0
art.experimental 0.01 -0.01 0.09 0.06 0.01 0.02
art.relax 0 -0.07 0.06 0.15 0.06 0
art.latin 0 -0.03 0.01 0.05 0.08 0
art.club -0.01 0.01 -0.03 -0.04 -0.02 0.07
art.celtic 0 0 -0.01 0.02 0.02 0
art.rock 0.02 -0.02 0.07 0.02 0.01 0.01
art.hardcore 0.03 0.13 -0.03 -0.06 -0.03 0.02
art.pop 0.02 -0.04 0.05 0.09 0.02 0.01
art.electronica -0.01 -0.01 0.04 0.04 0.01 0.09
art.hip.hop -0.01 -0.02 -0.02 -0.02 -0.01 0
art.punk 0.04 0.11 -0.03 -0.06 -0.02 -0.02
art.new.wave 0 -0.03 0.02 0.03 0.01 0.02
art.songwriter 0.01 -0.06 0.07 0.1 0.06 -0.01
art.letra 0 -0.06 0.02 0.08 0.02 -0.02
art.classical 0.01 -0.02 0 0.01 0.02 -0.02
art.instrumental 0 -0.02 0.06 0.08 0.02 0.04
art.dance -0.02 -0.01 -0.02 -0.03 -0.01 0.06
Cuadro 5.2: Correlaciones
81
dim.celtic dim.rock dim.hardcore dim.pop dim.electronica dim.hip.hop
user.auds 0.29 0.6 0.57 0.81 0.68 0.49
dim.metal 0.24 0.22 0.69 0.39 0.44 0.18
dim.experimental 0.12 0.45 0.22 0.52 0.52 0.19
dim.relax 0.29 0.38 0.14 0.65 0.57 0.28
dim.latin 0.17 0.19 0.07 0.29 0.23 0.16
dim.club 0.17 0.42 0.35 0.55 0.74 0.41
dim.celtic 1 0.15 0.13 0.24 0.2 0.14
dim.rock 0.15 1 0.18 0.63 0.47 0.26
dim.hardcore 0.13 0.18 1 0.48 0.41 0.26
dim.pop 0.24 0.63 0.48 1 0.72 0.46
dim.electronica 0.2 0.47 0.41 0.72 1 0.41
dim.hip.hop 0.14 0.26 0.26 0.46 0.41 1
dim.punk 0.27 0.55 0.66 0.71 0.49 0.4
dim.new.wave 0.28 0.73 0.28 0.82 0.67 0.34
dim.singer.songwriter 0.23 0.52 0.2 0.63 0.49 0.31
dim.letra 0.24 0.61 0.4 0.88 0.62 0.45
dim.classical 0.22 0.66 0.14 0.54 0.39 0.33
dim.instrumental 0.16 0.38 0.19 0.53 0.79 0.28
dim.dance 0.18 0.32 0.3 0.5 0.68 0.52
cluster 0 -0.03 0.02 -0.03 0.03 -0.01
art.metal 0.03 -0.02 0.11 -0.03 -0.01 -0.03
art.experimental -0.01 0.02 -0.02 0.01 0.05 -0.02
art.relax 0 -0.01 -0.06 0.02 0.03 -0.01
art.latin 0 -0.01 -0.03 0 -0.01 -0.01
art.club 0 -0.03 0.02 -0.03 0.04 0.02
art.celtic 0.06 0 -0.01 0 0 -0.01
art.rock -0.01 0.13 -0.06 0.04 0.03 -0.02
art.hardcore 0.01 -0.04 0.16 -0.01 -0.01 0
art.pop 0 0.05 -0.02 0.11 0.05 -0.01
art.electronica 0 0 -0.03 0 0.12 0.01
art.hip.hop 0 -0.02 0 -0.02 -0.01 0.13
art.punk 0.03 0.03 0.1 0.01 -0.02 -0.01
art.new.wave 0.01 0.06 -0.06 0.04 0.03 -0.03
art.songwriter 0 0.03 -0.06 0 0 -0.01
art.letra -0.01 0.02 -0.04 0.04 0.01 0
art.classical 0.01 0.06 -0.05 0.01 -0.01 0
art.instrumental 0 0 -0.04 0 0.09 -0.01
art.dance -0.01 -0.03 -0.01 -0.03 0.04 0.02
82
dim.punk dim.new.wave dim.songwriter dim.letra dim.classical dim.instru
user.auds 0.75 0.69 0.68 0.82 0.57 0.53
dim.metal 0.59 0.34 0.18 0.27 0.16 0.19
dim.experimental 0.31 0.4 0.6 0.51 0.33 0.58
dim.relax 0.31 0.52 0.77 0.72 0.42 0.66
dim.latin 0.16 0.26 0.57 0.34 0.25 0.23
dim.club 0.4 0.57 0.45 0.51 0.35 0.54
dim.celtic 0.27 0.28 0.23 0.24 0.22 0.16
dim.rock 0.55 0.73 0.52 0.61 0.66 0.38
dim.hardcore 0.66 0.28 0.2 0.4 0.14 0.19
dim.pop 0.71 0.82 0.63 0.88 0.54 0.53
dim.electronica 0.49 0.67 0.49 0.62 0.39 0.79
dim.hip.hop 0.4 0.34 0.31 0.45 0.33 0.28
dim.punk 1 0.56 0.41 0.68 0.6 0.31
dim.new.wave 0.56 1 0.49 0.72 0.58 0.45
dim.singer.songwriter 0.41 0.49 1 0.73 0.57 0.45
dim.letra 0.68 0.72 0.73 1 0.64 0.49
dim.classical 0.6 0.58 0.57 0.64 1 0.34
dim.instru 0.31 0.45 0.45 0.49 0.34 1
dim.dance 0.39 0.44 0.39 0.46 0.32 0.42
cluster -0.01 -0.03 -0.03 -0.05 -0.05 0.05
art.metal 0.08 -0.02 -0.05 -0.06 -0.04 -0.04
art.experimental -0.03 0 0.04 0.01 -0.02 0.11
art.relax -0.06 0 0.08 0.05 -0.01 0.1
art.latin -0.03 -0.01 0.05 0.01 -0.01 0
art.club -0.02 -0.02 -0.04 -0.04 -0.04 0
art.celtic 0 0.02 0 0 0 0
art.rock 0.01 0.09 0.05 0.03 0.09 0.04
art.hardcore 0.08 -0.04 -0.05 -0.03 -0.05 -0.04
art.pop 0 0.09 0.04 0.08 0.01 0.05
art.electronica -0.05 0.02 0 -0.02 -0.03 0.13
art.hip.hop -0.02 -0.02 -0.02 -0.01 -0.01 -0.01
art.punk 0.15 0.01 -0.03 0.01 0.08 -0.04
art.new.wave -0.02 0.1 0.01 0.02 0.02 0.02
art.songwriter -0.04 -0.01 0.13 0.04 0.05 0.04
art.letra -0.01 0.03 0.05 0.08 0.03 0.02
art.classical 0.04 0.03 0.04 0.03 0.15 0
art.instrumental -0.04 0 0.02 0 -0.01 0.17
art.dance -0.04 -0.02 -0.03 -0.04 -0.03 0.01
83
dim.dance cluster art.metal art.experimental art.relax art.latin
user.auds 0.57 -0.01 0.03 0.01 0 0
dim.metal 0.27 0.09 0.21 -0.01 -0.07 -0.03
dim.experimental 0.25 0 -0.02 0.09 0.06 0.01
dim.relax 0.37 0 -0.07 0.06 0.15 0.05
dim.latin 0.22 0 -0.03 0.01 0.06 0.08
dim.club 0.75 0.01 0 0.02 0 0
dim.celtic 0.18 0 0.03 -0.01 0 0
dim.rock 0.32 -0.03 -0.02 0.02 -0.01 -0.01
dim.hardcore 0.3 0.02 0.11 -0.02 -0.06 -0.03
dim.pop 0.5 -0.03 -0.03 0.01 0.02 0
dim.electronica 0.68 0.03 -0.01 0.05 0.03 -0.01
dim.hip.hop 0.52 -0.01 -0.03 -0.02 -0.01 -0.01
dim.punk 0.39 -0.01 0.08 -0.03 -0.06 -0.03
dim.new.wave 0.44 -0.03 -0.02 0 0 -0.01
dim.singer.songwriter 0.39 -0.03 -0.05 0.04 0.08 0.05
dim.letra 0.46 -0.05 -0.06 0.01 0.05 0.01
dim.classical 0.32 -0.05 -0.04 -0.02 -0.01 -0.01
dim.instrumental 0.42 0.05 -0.04 0.11 0.1 0
dim.dance 1 0.01 0 0 -0.02 -0.01
cluster 0.01 1 0.53 0.08 0.16 0.09
art.metal 0 0.53 1 -0.02 -0.17 -0.06
art.experimental 0 0.08 -0.02 1 0.33 -0.07
art.relax -0.02 0.16 -0.17 0.33 1 0.31
art.latin -0.01 0.09 -0.06 -0.07 0.31 1
art.club 0.09 0.02 0.02 -0.05 -0.13 -0.07
art.celtic 0.01 -0.13 -0.02 -0.04 -0.01 -0.02
art.rock -0.02 -0.2 -0.07 0.08 -0.1 -0.06
art.hardcore 0.01 0.05 0.35 -0.08 -0.15 -0.06
art.pop -0.01 -0.13 -0.18 -0.06 0.22 -0.01
art.electronica 0.08 0.28 0.02 0.15 0.14 -0.06
art.hip.hop 0.02 0.06 -0.07 -0.09 -0.07 -0.03
art.punk -0.02 -0.15 0.23 -0.18 -0.25 -0.12
art.new.wave 0 -0.17 -0.01 -0.07 0.11 0.03
art.songwriter -0.03 0 -0.09 0.15 0.32 0.26
art.letra -0.02 -0.12 -0.18 -0.03 0.41 0.03
art.classical -0.02 -0.14 -0.13 -0.13 -0.1 -0.07
art.instrumental 0.02 0.31 -0.1 0.57 0.54 -0.03
art.dance 0.11 0.07 -0.03 -0.08 -0.1 -0.04
84
art.club art.celtic art.rock art.hardcore art.pop art.electronica
user.auds -0.01 0 0.02 0.03 0.02 -0.01
dim.metal 0.01 0 -0.02 0.13 -0.04 -0.01
dim.experimental -0.03 -0.01 0.07 -0.03 0.05 0.04
dim.relax -0.04 0.02 0.02 -0.06 0.09 0.04
dim.latin -0.02 0.02 0.01 -0.03 0.02 0.01
dim.club 0.07 0 0.01 0.02 0.01 0.09
dim.celtic 0 0.06 -0.01 0.01 0 0
dim.rock -0.03 0 0.13 -0.04 0.05 0
dim.hardcore 0.02 -0.01 -0.06 0.16 -0.02 -0.03
dim.pop -0.03 0 0.04 -0.01 0.11 0
dim.electronica 0.04 0 0.03 -0.01 0.05 0.12
dim.hip.hop 0.02 -0.01 -0.02 0 -0.01 0.01
dim.punk -0.02 0 0.01 0.08 0 -0.05
dim.new.wave -0.02 0.02 0.09 -0.04 0.09 0.02
dim.singer.songwriter -0.04 0 0.05 -0.05 0.04 0
dim.letra -0.04 0 0.03 -0.03 0.08 -0.02
dim.classical -0.04 0 0.09 -0.05 0.01 -0.03
dim.instrumental 0 0 0.04 -0.04 0.05 0.13
dim.dance 0.09 0.01 -0.02 0.01 -0.01 0.08
cluster 0.02 -0.13 -0.2 0.05 -0.13 0.28
art.metal 0.02 -0.02 -0.07 0.35 -0.18 0.02
art.experimental -0.05 -0.04 0.08 -0.08 -0.06 0.15
art.relax -0.13 -0.01 -0.1 -0.15 0.22 0.14
art.latin -0.07 -0.02 -0.06 -0.06 -0.01 -0.06
art.club 1 -0.04 -0.14 0.21 -0.21 0.52
art.celtic -0.04 1 -0.04 -0.03 0 -0.02
art.rock -0.14 -0.04 1 -0.16 0.12 -0.07
art.hardcore 0.21 -0.03 -0.16 1 -0.09 -0.09
art.pop -0.21 0 0.12 -0.09 1 0.08
art.electronica 0.52 -0.02 -0.07 -0.09 0.08 1
art.hip.hop 0 -0.02 -0.08 -0.02 -0.12 -0.01
art.punk -0.07 -0.03 0.11 0.3 -0.02 -0.19
art.new.wave -0.01 0.02 0.33 -0.19 0.46 0.19
art.singer.songwriter -0.1 -0.04 0.03 -0.1 -0.13 -0.02
art.letra -0.15 0.01 -0.01 -0.15 0.32 -0.03
art.classical -0.14 -0.04 0.25 -0.14 0 -0.09
art.instrumental 0.06 -0.02 -0.05 -0.1 -0.03 0.48
art.dance 0.8 -0.01 -0.11 -0.05 -0.16 0.54
85
art.hip.hop art.punk art.new.wave art.singer.songwriter art.letra art.classical
user.auds -0.01 0.04 0 0.01 0 0.01
dim.metal -0.02 0.11 -0.03 -0.06 -0.06 -0.02
dim.experimental -0.02 -0.03 0.02 0.07 0.02 0
dim.relax -0.02 -0.06 0.03 0.1 0.08 0.01
dim.latin -0.01 -0.02 0.01 0.06 0.02 0.02
dim.club 0 -0.02 0.02 -0.01 -0.02 -0.02
dim.celtic 0 0.03 0.01 0 -0.01 0.01
dim.rock -0.02 0.03 0.06 0.03 0.02 0.06
dim.hardcore 0 0.1 -0.06 -0.06 -0.04 -0.05
dim.pop -0.02 0.01 0.04 0 0.04 0.01
dim.electronica -0.01 -0.02 0.03 0 0.01 -0.01
dim.hip.hop 0.13 -0.01 -0.03 -0.01 0 0
dim.punk -0.02 0.15 -0.02 -0.04 -0.01 0.04
dim.new.wave -0.02 0.01 0.1 -0.01 0.03 0.03
dim.singer.songwriter -0.02 -0.03 0.01 0.13 0.05 0.04
dim.letra -0.01 0.01 0.02 0.04 0.08 0.03
dim.classical -0.01 0.08 0.02 0.05 0.03 0.15
dim.instrumental -0.01 -0.04 0.02 0.04 0.02 0
dim.dance 0.02 -0.02 0 -0.03 -0.02 -0.02
cluster 0.06 -0.15 -0.17 0 -0.12 -0.14
art.metal -0.07 0.23 -0.01 -0.09 -0.18 -0.13
art.experimental -0.09 -0.18 -0.07 0.15 -0.03 -0.13
art.relax -0.07 -0.25 0.11 0.32 0.41 -0.1
art.latin -0.03 -0.12 0.03 0.26 0.03 -0.07
art.club 0 -0.07 -0.01 -0.1 -0.15 -0.14
art.celtic -0.02 -0.03 0.02 -0.04 0.01 -0.04
art.rock -0.08 0.11 0.33 0.03 -0.01 0.25
art.hardcore -0.02 0.3 -0.19 -0.1 -0.15 -0.14
art.pop -0.12 -0.02 0.46 -0.13 0.32 0
art.electronica -0.01 -0.19 0.19 -0.02 -0.03 -0.09
art.hip.hop 1 -0.1 -0.09 -0.09 -0.07 -0.04
art.punk -0.1 1 -0.05 -0.17 -0.02 0.39
art.new.wave -0.09 -0.05 1 -0.18 0.21 0.11
art.singer.songwriter -0.09 -0.17 -0.18 1 0.15 0.11
art.letra -0.07 -0.02 0.21 0.15 1 0.1
art.classical -0.04 0.39 0.11 0.11 0.1 1
art.instrumental -0.03 -0.16 -0.05 0.01 0 -0.07
art.dance 0 -0.16 -0.06 -0.06 -0.13 -0.09
86
art.instrumental art.dance
user.auds 0 -0.02
dim.metal -0.02 -0.01
dim.experimental 0.06 -0.02
dim.relax 0.08 -0.03
dim.latin 0.02 -0.01
dim.club 0.04 0.06
dim.celtic 0 -0.01
dim.rock 0 -0.03
dim.hardcore -0.04 -0.01
dim.pop 0 -0.03
dim.electronica 0.09 0.04
dim.hip.hop -0.01 0.02
dim.punk -0.04 -0.04
dim.new.wave 0 -0.02
dim.singer.songwriter 0.02 -0.03
dim.letra 0 -0.04
dim.classical -0.01 -0.03
dim.instrumental 0.17 0.01
dim.dance 0.02 0.11
cluster 0.31 0.07
art.metal -0.1 -0.03
art.experimental 0.57 -0.08
art.relax 0.54 -0.1
art.latin -0.03 -0.04
art.club 0.06 0.8
art.celtic -0.02 -0.01
art.rock -0.05 -0.11
art.hardcore -0.1 -0.05
art.pop -0.03 -0.16
art.electronica 0.48 0.54
art.hip.hop -0.03 0
art.punk -0.16 -0.16
art.new.wave -0.05 -0.06
art.singer.songwriter 0.01 -0.06
art.letra 0 -0.13
art.classical -0.07 -0.09
art.instrumental 1 0.01
art.dance 0.01 1
87

Más contenido relacionado

PDF
Aprender a investigar_modulo4
PDF
Aa i modulo 3
PDF
Despilfarro
PDF
Serie aprender a_investigar,_módulo_3_recolección_de_la_información
PDF
Serie aprender a investigar 2
PPTX
La investigacion cientifica de Corona Gomez Armijos
PDF
Modulo1
PDF
Serie aprender a_investigar,_módulo_5_el_proyecto_de_investigación
Aprender a investigar_modulo4
Aa i modulo 3
Despilfarro
Serie aprender a_investigar,_módulo_3_recolección_de_la_información
Serie aprender a investigar 2
La investigacion cientifica de Corona Gomez Armijos
Modulo1
Serie aprender a_investigar,_módulo_5_el_proyecto_de_investigación

La actualidad más candente (13)

PDF
Tesis pre - grado
PDF
Serie aprender a_investigar,_módulo_4_análisis_de_la_información
PDF
Tesis análisis estructural.
PDF
Diagnostico de Fallas Red Area Local
PDF
Serie aprender a investigar 4
PDF
Serie aprender a investigar 3 ICFES
PDF
Consultorio Médico
PDF
Proyecto de red para empresa comercializadora de electricidad
PDF
5. el-proyecto-de-investigación-aprender-a-investigar-icfes
PDF
Modulo 3
PDF
Direccion estrategica
PDF
Monje carlos arturo guía didáctica metodología de la investigación
PDF
Serie aprender a investigar 5
Tesis pre - grado
Serie aprender a_investigar,_módulo_4_análisis_de_la_información
Tesis análisis estructural.
Diagnostico de Fallas Red Area Local
Serie aprender a investigar 4
Serie aprender a investigar 3 ICFES
Consultorio Médico
Proyecto de red para empresa comercializadora de electricidad
5. el-proyecto-de-investigación-aprender-a-investigar-icfes
Modulo 3
Direccion estrategica
Monje carlos arturo guía didáctica metodología de la investigación
Serie aprender a investigar 5
Publicidad

Destacado (8)

DOCX
Merche y lis
PDF
منهاج السنة النبوية1
PDF
№13_2013
PPTX
Sénégal fast food
PDF
Product mix&match - a technology HLD overview with a case-study example
PDF
SA Look Book AW 2015
PDF
Γλωσσικές ασκήσεις στ΄ δημοτικού α΄τεύχος
PPT
PLANIFICACIÓN Y PROGRAMACIÓN CURRICULAR
Merche y lis
منهاج السنة النبوية1
№13_2013
Sénégal fast food
Product mix&match - a technology HLD overview with a case-study example
SA Look Book AW 2015
Γλωσσικές ασκήσεις στ΄ δημοτικού α΄τεύχος
PLANIFICACIÓN Y PROGRAMACIÓN CURRICULAR
Publicidad

Similar a DataMining_lastfm (20)

PPTX
Modelos De Data Mining
PDF
Introducción a R - con minería de datos
PDF
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
PDF
Análisis del uso de algoritmos de Minería de Datos y Machine Learning para Ma...
PDF
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
PDF
Categorización de usuarios de Twitter
PDF
Minería de uso web
PDF
Vector4 4
DOCX
Web mining
PDF
Sistemas de recomendación & Big Data
PDF
Desarrollo de una herramienta de planificación social media
PPTX
Web Usage Mining - Temas Avanzados
PDF
Minería de Datos: Qué significa realmente y ejemplos de utilización
PDF
Reporte_practica_2.pdf
PPT
Data Mining Snoop Consulting Arg
PPT
ARS Aplicado a perfiles de "My Space música"
PPTX
Big data & data mining
PDF
PDF
Aplicando La Ciencia de Datos en Una Organizacion
PPTX
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Modelos De Data Mining
Introducción a R - con minería de datos
actividad de perfiles de facebook en la ciudad de loja- Mineria de Datos
Análisis del uso de algoritmos de Minería de Datos y Machine Learning para Ma...
Sistema Generador de PAtrones de Visitas a Paginas Web en Dispsoitivos Inalám...
Categorización de usuarios de Twitter
Minería de uso web
Vector4 4
Web mining
Sistemas de recomendación & Big Data
Desarrollo de una herramienta de planificación social media
Web Usage Mining - Temas Avanzados
Minería de Datos: Qué significa realmente y ejemplos de utilización
Reporte_practica_2.pdf
Data Mining Snoop Consulting Arg
ARS Aplicado a perfiles de "My Space música"
Big data & data mining
Aplicando La Ciencia de Datos en Una Organizacion
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...

DataMining_lastfm

  • 1. ’T´ecnicas de Miner´ıa de Datos para el an´alisis de la informaci´on de las redes sociales. El caso de Last.FM.’ Rub´en Afonso Francos 16 de Septiembre de 2011 Directora: Prof. Dra. Susana San Mat´ıas Izquierdo Departamento de Estad´ıstica e Investigaci´on Operativa Aplicadas y Calidad Universidad Polit´ecnica de Valencia Master Universitario en An´alisis de Datos, Mejora de Procesos y Toma de Decisiones
  • 2. 2
  • 3. Resumen La miner´ıa de datos es una disciplina que goza de buena salud desde hace a˜nos, vinculada principalmente a la extracci´on no trivial de informaci´on con fines comerciales a partir de fuentes de datos de diversa naturaleza. En el mundo empresarial la miner´ıa de datos ha estado tradicionalmente ligada a las ´areas encargadas de mantener la relaci´on con el cliente final, la detecci´on de patrones de fuga, fraudes y la gesti´on de recursos humanos de la propia empresa. Precisamente esta consolidaci´on ha hecho que en la actualidad sea un campo que hace uso de t´ecnicas estad´ısticas ampliamente documentadas, en constante evoluci´on y aplicaci´on a nuevos campos del conocimiento. Hoy en d´ıa, el aumento de la cantidad de informaci´on que se produce y trasmite a diario ha hecho que la miner´ıa de datos en particular, y las t´ecnicas de an´alisis de datos en general, cobren especial importancia como herramienta para obtener informaci´on de alto valor estrat´egico a partir de grandes vol´umenes de datos, muchas veces obtenidos de fuentes externas a la propia empresa. El auge de las redes sociales en los ´ultimos a˜nos ha hecho que cada vez sea m´as frecuente hacer uso de este tipo de informaci´on con fines comerciales, ya que a menudo suele estar disponible de forma masiva y a un coste muy bajo o nulo, permitiendo, por ejemplo, el estudio de los h´abitos de consumidores potenciales, la elaboraci´on de perfiles de usuario o la estimaci´on del impacto al lanzar al mercado un determinado producto. El potencial de la miner´ıa de datos aplicada a las redes sociales es evidente. Sin embargo hasta ahora ´estos han sido campos que han evolucionado de forma paralela. El estudio de las redes sociales parece estar muy ligado sin embargo a las nuevas tendencias en visualizaci´on de datos, que han permitido analizar las mismas desde un punto de vista m´as intuitivo y entender mejor su din´amica y evoluci´on (de por s´ı complejas). Los estudios sobre redes sociales en la actualidad muchas veces se limitan a an´alisis descriptivos muy someros que no hacen uso del potencial que ofrecen las t´ecnicas estad´ısticas tradicionales de an´alisis de datos, desaprovechando la oportunidad de obtener resultados m´as robustos que permitan una mejor toma de decisiones. En nuestro trabajo proponemos el estudio de Last.fm, una red social especializada en contenidos musicales, con el fin de analizar los perfiles de usuarios y obtener informaci´on a priori dif´ıcil de estimar como puede ser el grado de aceptaci´on de un nuevo artista, o la determinaci´on del p´ublico objetivo para un determinado g´enero musical, cuestiones de inter´es dentro de la industria discogr´afica. Para este estudio recurrimos a las herramientas de mineri´a de datos tradiciones y sugerimos una posible metodolog´ıa a utilizar en sistemas de recomendaci´on basados en etiquetas, la elaboraci´on de las llamadas dimensiones. 3
  • 4. Declaraci´on Declaro que esta Tesis de M´aster ha sido realizada por mi, que todo el trabajo contenido es m´ıo a menos que se indique lo contrario en el texto y que este documento no ha sido utilizado para la obtenci´on de ning´un otro t´ıtulo o reconocimiento acad´emico. Rub´en Afonso Francos, Valencia 16 de Septiembre de 2011 4
  • 5. ´Indice Resumen 3 1. Introducci´on 9 1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2. Motivaci´on y Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3. Metodolog´ıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2. Miner´ıa de Datos 14 2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2. El proceso de miner´ıa de datos . . . . . . . . . . . . . . . . . . . . . . . 16 2.3. Evoluci´on hist´orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4. M´etodos estad´ısticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5. An´alisis Cl´uster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.1. Determinaci´on del n´umero de clusters . . . . . . . . . . . . . . . 21 2.5.2. Representaci´on Silhouette . . . . . . . . . . . . . . . . . . . . . 22 2.5.3. Algoritmo K-medias . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.4. Algoritmo PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.5.5. CLARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5.6. Clustering jer´arquico . . . . . . . . . . . . . . . . . . . . . . . . 29 2.6. An´alisis de Componentes Principales . . . . . . . . . . . . . . . . . . . . 31 2.7. Reglas de asociaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.8. CART / Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3. Redes Sociales 36 3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2. Estructuraci´on de los datos: tags . . . . . . . . . . . . . . . . . . . . . . 37 3.3. Sistemas de Recomendaci´on Musical . . . . . . . . . . . . . . . . . . . . 38 3.3.1. El problema de la recomendaci´on . . . . . . . . . . . . . . . . . 38 3.3.2. M´etodos de recomendaci´on musical . . . . . . . . . . . . . . . . 39 3.3.3. Recomendaci´on musical basada en dimensiones . . . . . . . . . . 42 4. El caso de Last.FM 44 4.1. Obtenci´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2. Datos iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5
  • 6. 4.4. Descripci´on del modelo de datos . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1. An´alisis descriptivo de los datos de tags y artistas . . . . . . . . . 50 4.4.2. Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.5. Obtenci´on de las dimensiones de los artistas . . . . . . . . . . . . . . . . 55 4.5.1. Reducci´on de la dimensionalidad en el conjunto lm-artistas . . . . 55 4.6. Clustering de artistas y definici´on de perfiles . . . . . . . . . . . . . . . . 61 4.7. Predicci´on del n´umero de escuchas . . . . . . . . . . . . . . . . . . . . . 63 4.7.1. Elaboraci´on de las dimensiones de los usuarios . . . . . . . . . . 63 4.7.2. Modelo Predictor . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.8. Predicci´on del inter´es del usuario . . . . . . . . . . . . . . . . . . . . . 67 5. Conclusiones y Trabajo Futuro 73 Bibliograf´ıa 75 Ap´endice 77 A. Conjunto de tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 B. Detalle del clustering jer´arquico de tags . . . . . . . . . . . . . . . . . . 79 C. Correlaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6
  • 7. ´Indice de figuras 2.1. Disciplinas de la miner´ıa de datos . . . . . . . . . . . . . . . . . . . . . . 15 2.2. Etapas en el proceso de la miner´ıa de datos . . . . . . . . . . . . . . . . 16 2.3. Ejemplos de gr´aficos Silhouette . . . . . . . . . . . . . . . . . . . . . . . 23 2.4. Ejemplo de K-medias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5. Ejemplo de PAM sobre el conjunto Iris . . . . . . . . . . . . . . . . . . . 27 2.6. Cluster jer´arquico (aglomerativo, distancia de Ward) del conjunto Iris . . 29 2.7. Gr´afico de Scores y Loadings resultantes del PCA sobre el conjunto Iris . 32 3.1. Proceso de elaboraci´on de las dimensiones de los usuarios . . . . . . . . . 42 4.1. Modelo L´ogico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2. (1) Frecuencia de cada tag por su ID. (2) N´umero de tags para cada artista 50 4.3. Frecuencia de la variable Sexo . . . . . . . . . . . . . . . . . . . . . . . 51 4.4. Distribuci´on de la variable edad . . . . . . . . . . . . . . . . . . . . . . . 51 4.5. Frecuencias del atributo Pa´ıs. Se muestran los 30 primeros pa´ıses con m´as usuarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6. Frecuencias por categor´ıas del atributo Pa´ıs . . . . . . . . . . . . . . . . 53 4.7. Distribuci´on de la variable logins de los usuarios recogidos en el conjunto de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.8. Distribuci´on de la variable hits de los usuarios del conjunto de datos. . . . 55 4.9. Evoluci´on del coef. Silhouette al aplicar PAM sobre el cjto de tags . . . . 56 4.10. Silhouette de PAM(k=2) sobre los tags . . . . . . . . . . . . . . . . . . 57 4.11. Gr´afico de scores PCA del conjunto de tags . . . . . . . . . . . . . . . . 58 4.12. Variabilidad explicada en el PCA por cada componente . . . . . . . . . . 59 4.13. Clustering jer´arquico de los tags . . . . . . . . . . . . . . . . . . . . . . 60 4.14. Silhouette del agrupamiento de los 100 artistas m´as referenciados . . . . 62 4.15. Errores de validaci´on MAPE para diferentes par´ametros de la red neuronal. 66 4.16. Esquema de la red neuronal utilizada para predecir no de escuchas de un artista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.17. Distribuci´on de las audiciones para Pink Floyd . . . . . . . . . . . . . . . 68 4.18. Distribuci´on de las audiciones para los 100 artistas m´as populares . . . . 69 4.19. Distribuci´on del valor mediana para las medianas de los 100 artistas m´as populares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7
  • 8. ´Indice de cuadros 3.1. 12 tags m´as utilizados para Coldplay . . . . . . . . . . . . . . . . . . . 41 4.1. Conjunto de datos lm-artistas . . . . . . . . . . . . . . . . . . . . . . . 45 4.2. Conjunto de datos lm-usuarios . . . . . . . . . . . . . . . . . . . . . . . 46 4.3. Volumen de datos en lm-usuarios . . . . . . . . . . . . . . . . . . . . . 46 4.4. Volumen de datos en lm-artistas . . . . . . . . . . . . . . . . . . . . . . 46 4.5. Recodificaci´on del atributo Edad . . . . . . . . . . . . . . . . . . . . . . 48 4.6. Recodificaci´on del atributo Pais en regiones geogr´aficas . . . . . . . . . . 48 4.7. Estructura de datos resultante . . . . . . . . . . . . . . . . . . . . . . . 50 4.8. Dimensiones de los artistas, obtenidas a partir del clustering jer´arquico de los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.9. Reglas de asociaci´on de los tags en cada cluster . . . . . . . . . . . . . . 63 4.10. Conjunto de datos lm-gustos . . . . . . . . . . . . . . . . . . . . . . . 64 4.11. Valores utilizados para los par´ametros de la red neuronal . . . . . . . . . 65 4.12. Errores obtenidos tras construir la red neuronal . . . . . . . . . . . . . . 67 4.13. Matriz de confusi´on de random forest sobre el conjunto de datos de en- trenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.14. Matriz de confusi´on de random forest sobre el conjunto de datos de testeo 71 4.15. Resultados de la validaci´on de random forest . . . . . . . . . . . . . . . 72 5.1. Tags del conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2. Correlaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8
  • 9. Cap´ıtulo 1 Introducci´on En los ´ultimos a˜nos la miner´ıa de datos ha experimentado un resurgimiento debido a las necesidades por parte de las empresas e instituciones de dar sentido y valor a˜nadido a los grandes vol´umenes de datos que se generan diariamente como fruto de su actividad. El aumento de la informaci´on en nuestra sociedad ha dado fruto a la creaci´on de grandes conjuntos de datos que debido a su extensi´on dificultan el procesamiento y el an´alisis de la informaci´on mediante m´etodos cl´asicos de tratamiento de datos. La b´usqueda de patrones, relaciones, reglas y asociaciones ´utiles que aporten informaci´on relevante o conocimiento para el proceso de toma de decisiones se ha revelado como una importante herramienta de retroalimentaci´on que permite mejorar tanto a nivel empresarial como a nivel institucional. El aumento de las prestaciones de los equipos inform´aticos tambi´en ha contribu´ıdo a popularizar las t´ecnicas de an´alisis de datos, pudi´endose llevar a cabo e implantar dentro de la cadena de producci´on con costes admisibles para las empresas. En la actualidad, la expansi´on de Internet y las redes sociales ha hecho que las t´ecni- cas de miner´ıa de datos cobren un valor a˜nadido al permitir recopilar informaci´on que se encuentra disponible p´ublicamente y de forma gratuita en muchas redes sociales y que permite inferir conclusiones sobre los usuarios de las mismas. Dicha informaci´on puede ir desde simples estad´ısticas de uso hasta patrones de conducta o consumo, ambos de alto valor para empresas de marketing, a coste pr´acticamente cero, ya que los datos muchas veces son f´acilmente recopilables de forma automatizada, e incluso un gran n´umero de re- des proporcionan medios e incentivan el tratamiento y estudio de sus datos, generalmente mediante un sistema API 1 . La informaci´on contenida en las redes sociales puede ser utilizada para elaborar sistemas de recomendaci´on, cuyo fin ´ultimo es proporcionar predicciones sobre un usuario a partir de los datos existentes de otros usuarios (Costa[12]). Con la difusi´on de Internet y el comercio electr´onico, grandes compa˜nias como Amazon o Netflix han elaborado sus propios sistemas de recomendaci´on espec´ıficos para los diferentes tipos de actividades que desempe˜nan, siendo uno de ellos los sistemas de recomendaci´on musicales, especializados en sugerir nuevos artistas. Como paso previo a la recomendaci´on, en estos sistemas suele existir una fase de clasificaci´on, en la que el usuario es previamente clasificado dentro de un cierto grupo atendiendo a su historial en el sistema. Una vez ubicado dentro de un cierto perfil, se realiza la fase de recomendaci´on propiamente dicha donde interviene nuevamente la 1 API: application programming interface 9
  • 10. informaci´on sobre los gustos del usuario, pero tambi´en los gustos de usuarios similares (Celma[13]). 1.1. Antecedentes Sorprendentemente, los trabajos relacionando el campo de la miner´ıa de datos con el estudio de las redes sociales hasta la actualidad son escasos. Si realizamos una b´usqueda mediante Google Scholar 2 durante los ´ultimos a˜nos las publicaciones sobre miner´ıa de datos y redes sociales ascienden a 35 publicaciones en el a˜no 2010. En cambio, el n´umero de ar´ticulos publicados el mismo a˜no relacionados con las redes sociales lleg´o hasta los 1634. De hecho, el an´alisis de redes sociales (SNA por sus siglas en ingl´es) es una disciplina con una larga trayectoria y objeto de continua investigaci´on. De forma similar, los articulos publicados en el a˜no 2010 sobre miner´ıa de datos sobrepasaron los 2300. Ambas son disciplinas de actualidad que hoy en d´ıa se han visto impulsadas por el auge de Internet y la ubicuidad de los sistemas de informaci´on. Esto nos indica que efectivamente parece existir un vac´ıo en las publicaciones que ven la luz vinculando estos dos campos. Sin embargo, parece ser que las investigaciones sobre el uso de la informaci´on contenida en redes sociales contin´ua de forma privada (y por lo tanto no publicada) en campos dispares como la investigaci´on de mercados 3 , instituciones bancarias 4 , e incluso como parte de programas de inteligencia gubernamentales 5 . Entre las primeras referencias al uso de la miner´ıa de datos aplicada a redes sociales se encuentra el trabajo de Richards y Higgins[14] en el a˜no 2001, donde los autores ya expon´ıan que las t´ecnicas utilizadas hasta el momento para la visualizaci´on de grandes conjuntos de datos eran insuficientes cuando se dispone de un gran volumen de informa- ci´on. Posteriormente aparecieron nuevos trabajos sobre miner´ıa de datos en diferentes ´ambitos, destacando algunos ligados al estudio de redes sociales para la obtenci´on de informaci´on vinculada a la seguridad gubernamental (Liu et al.[15], COPLINK[17]) as´ı como a los prob- lemas de privacidad derivados del uso de dichas t´ecnicas en redes sociales (Kleinberg[16]), que indican la tendencia de las primeras investigaciones. No fue hasta hace pocos a˜nos, alrededor de 2008/2009, cuando la masa de usuarios de las redes sociales alcanz´o el volumen suficiente como para ser vista como un fen´omeno im- portante con doble valor a˜nadido. Por un lado los usuarios de las redes sociales comenzaron a ser considerados como posible objetivo comercial de las campa˜nas de marketing, lo que contribuy´o a comenzar a estudiar dichas redes, y por otra parte, el conocimiento derivado de las mismas empez´o a utilizarse para fines comerciales en entornos externos a las redes 2 buscando art´ıculos que tengan las siguientes palabras en el t´ıtulo: mining social network 3 http://www.tomhcanderson.com/2010/01/29/data-mining-and-social-media-in-market-research- interview/ 4 http://rbach.net/blog/index.php/banks-and-bosses-using-social-media-to-assess-risk/ 5 White House Seeks to Capture Citizens Comments http://www.cnsnews.com/news/article/53363 10
  • 11. sociales, utiliz´andolas como fuente de informaci´on para entender el comportamiento de los consumidores de la sociedad en s´ı. De los diferentes tipos de redes sociales, hasta la actualidad uno de los menos estudia- dos son las redes sociales centradas en la m´usica; siendo LastFM la principal de ellas por n´umero de usuarios. Existen algunos trabajos recientes que han estudiado LastFM, en con- creto la informaci´on etiquetada asociada a los artistas (los llamados tags) (Douglas[18], Robert et al.[19]), as´ı como la forma en que esta red social refleja el panorama musical actual (Chen et al.[20]). El aumento en el n´umero de usuarios de LastFM ha inspirado algunos art´ıculos sobre c´omo aprovechar dicha informaci´on para construir mejores sistemas de recomendaci´on en tiendas online (Costa[12], L´opez y Rodr´ıguez[21]), o para elaborar sistemas que sugieran artistas emergentes, que de otra forma pasar´ıan desapercibidos a los usuarios (Celma[13]). 1.2. Motivaci´on y Objetivos En la actualidad, la gran mayor´ıa de estudios aplicados a redes sociales se basan en an´alisis descriptivos, muchas veces haciendo uso de t´ecnicas de visualizaci´on de datos, que si bien presentan ciertas ventajas frente a las t´ecnicas estad´ısticas y facilitan la comprensi´on de las redes, en ocasiones son insuficientes para interpretar en profundidad la informaci´on contenida en las mismas, sobre todo cuando el volumen de datos es muy grande. El objetivo de nuestro trabajo es aplicar las t´ecnicas de miner´ıa de datos tradicionales en un entorno nuevo como son los conjuntos de datos procedentes de redes sociales. Estos datos, por provenir de este tipo de redes, presentan caracter´ısticas particulares que influyen en la forma en que se manipular´ıan en un proceso habitual de miner´ıa de datos. Abordamos los sistemas de recomendaci´on basados en etiquetas y proponemos la elaboraci´on de estructuras de datos (denominadas dimensiones) que faciliten el manejo de informaci´on en dichos sistemas. La informaci´on obtenida puede utilizarse para fines comerciales como la elaboraci´on de perfiles de usuario o definici´on de sistemas de recomendaci´on de compra, as´ı como la predicci´on de gustos de los usuarios. Todos ellos son objetivos tradicionales de las t´ecnicas de miner´ıa de datos. En nuestro trabajo proponemos: estudiar las particularidades de la obtenci´on de datos provenientes de redes sociales. aplicar las t´ecnicas de miner´ıa de datos para obtener conclusiones sobre la red social m´as all´a de las conclusiones meramente descriptivas, de forma que se genere nuevo conocimiento. una metodolog´ıa para facilitar el manejo de la informaci´on en sistemas de recomen- daci´on musicales basados en etiquetas mediante la elaboraci´on de las denominadas dimensiones musicales. 11
  • 12. extraer informaci´on a partir de las mismas de forma que se puedan clasificar los usuarios en funci´on de sus h´abitos de escucha. elaborar modelos predictivos a partir de la informaci´on de la red que sirvan para mejorar la calidad de los sistemas de recomendaci´on musical. 1.3. Metodolog´ıa La forma de trabajar con datos obtenidos de redes sociales difiere de las metodolog´ıas tradicionales en lo que al proceso de obtenci´on de datos se refiere, ya que la mayor´ıa de redes sociales en lugar de proporcionar conjuntos de datos cerrados y est´aticos dan acceso a la informaci´on contenida en sus sistemas mediante interfaces de programaci´on (APIs) que permiten acceder pr´acticamente en tiempo real a los datos manejados dentro de la red. Este acceso no suele ser completo ya que por motivos de privacidad algunos datos no est´an disponibles libremente, e incluso en ocasiones los usuarios pueden decidir cuales de sus datos se pueden distribuir y cu´ales no. Esto debe tenerse en cuenta sobre todo en la fase de preprocesado de los datos, ya que puede ser necesario filtrar los usuarios para utilizar ´unicamente aquellos que proporcionan un m´ınimo de informaci´on ´util. De igual manera el acceso mediante la API definida suele estar restringido, de forma que para poder hacer uso de la misma sea necesario previamente darse de alta en el propio sistema, ya sea como simple usuario o expl´ıcitamente como desarrollador. La cantidad de informaci´on a obtener var´ıa de una red a otra, pero normalmente suelen existir restricciones temporales, expresadas en par´ametros como l´ımite m´aximo de conexiones por minuto ´o volumen de informaci´on a consultar en un cierto per´ıodo de tiempo. Muchas de estas restricciones buscan salvaguardar el rendimiento de los propios sistemas de la red. Una vez obtenidos los datos se requiere de una fase de preprocesamiento para adecuarlos a los futuros an´alisis estad´ısticos. Esta parte suele requerir de una gran fracci´on del total de tiempo del proyecto, siendo en ocasiones la fase en la que m´as tiempo se invierte de todo el proceso de extracci´on y an´alisis de los datos. En nuestro trabajo hemos utilizado un conjunto de datos ya existente proveniente de LastFM, lo que nos ha significado un ahorro de tiempo ya que los l´ımites impuestos por dicha red, aunque no afectan a la informaci´on disponible, s´ı lo hacen respecto a la cantidad de transacciones por minuto lo que significa que para obtener un conjunto de datos lo suficientemente amplio como el nuestro se hubiera requerido de d´ıas o incluso semanas. Posteriormente los datos han sido analizados mediante diversas t´ecnicas estad´ısticas; para nuestro estudio, debido a su amplia difusi´on dentro de la comunidad investigadora y a su amplio abanico de recursos, hemos elegido el entorno de de programaci´on R. Con las conclusiones obtenidas, hemos clasificado los usuarios en grupos atendiendo a diversos criterios, y dicha agrupaci´on nos ha permitido adem´as extraer reglas que poten- cialmente podr´ıan incorporarse a un sistema de recomendaci´on musical para mejorar su eficacia. 12
  • 13. 1.4. Estructura Este documento est´a estructurado de la siguiente manera: Cap´ıtulo 1: introduce nuestro trabajo y proporciona una visi´on global del mismo. Cap´ıtulo 2: proporciona informaci´on preliminar sobre el conjunto de t´ecnicas y metodolog´ıas que se incluyen dentro de la disciplina conocida como miner´ıa de datos y que hemos utilizado posteriormente en nuestro caso de estudio. Cap´ıtulo 3: se introducen las estructuras conocidas como redes sociales, los sistemas de recomendaci´on m´as habituales y se propone una metodolog´ıa basada en la uti- lizaci´on de las etiquetas para deducir informaci´on sobre los usuarios (elaboraci´on de dimensiones). Cap´ıtulo 4: proponemos un caso de estudio con datos procedentes de una conoci- da red social, LastFM, aplicando algunas t´ecnicas habituales en miner´ıa de datos. Tambi´en se exponen los resultados obtenidos de dichos an´alisis. Cap´ıtulo 5: presenta las conclusiones de nuestro trabajo y se se˜nalan algunos puntos sobre los que trazar futuras l´ıneas de investigaci´on. 13
  • 14. Cap´ıtulo 2 Miner´ıa de Datos 2.1. Introducci´on En los ´ultimos a˜nos cada vez m´as datos est´an siendo almacenados en las organizaciones y/o empresas para diversos fines. Sin embargo, en muchas ocasiones no se extrae infor- maci´on ´util de los mismos lo que impide la generaci´on de nuevo conocimiento. Bas´andose en la premisa de que los datos poseen m´as informaci´on de la observada a simple vista, naci´o en los 60 la disciplina conocida como KDD (Knowledge Discovery from Databases), extracci´on de conocimiento a partir de bases de datos, a partir de la cual naci´o la miner´ıa de datos tal y como la conocemos hoy en d´ıa. Podemos definir KDD como el proceso no trivial de identificar patrones v´alidos, nove- dosos, potencialmente ´utiles y comprensibles a partir de datos (Fayyad[27]). Inicialmente una de las partes de dicho proceso la constitu´ıa la miner´ıa de datos, pero con el transcur- so del tiempo, la adopci´on de ´esta ´ultima por parte de la industria ha hecho que en la actualidad el conjunto en su totalidad se denomine miner´ıa de datos. La emergencia de la miner´ıa de datos est´a intr´ınsecamente relacionada con el desarrollo de las tecnolog´ıas de la informaci´on, en concreto con la evoluci´on y organizaci´on de las tecnolog´ıas de bases de datos. Las herramientas para la consulta y elaboraci´on de informes proporcionadas por muchas bases de datos son f´aciles de usar; ayudan a explorar los datos hasta cierto punto, ya que presentan algunas limitaciones. La miner´ıa de datos es diferente de la mera extracci´on de datos porque se basa en la b´usqueda de relaciones y asociaciones entre fen´omenos que no son conocidos de antemano, y que muchas veces no son observables mediante un an´alisis superficial. La miner´ıa de datos abarca en la actualidad de forma indirecta una serie de disciplinas paralelas, no s´olo las relacionadas con las t´ecnicas estad´ısticas y el aprendizaje autom´atico sino tambi´en otras como la teor´ıa de bases de datos, ya que la fuente de informaci´on suele ser una base de datos. Tambi´en engloba las t´ecnicas de visualizaci´on de datos, herramientas de gran difusi´on. 14
  • 15. Figura 2.1: Disciplinas de la miner´ıa de datos Aunque la miner´ıa de datos ha estado siempre relacionada con el an´alisis estad´ıstico de datos, existen algunos matices que los diferencian (Giudici[2]). La miner´ıa de datos trata de analizar grandes conjuntos de datos, lo que implica tener en cuenta ciertas con- sideraciones al plantear el an´alisis estad´ıstico. En muchas ocasiones es imposible analizar la totalidad de la base de datos por limitaciones tecnol´ogicas, por lo tanto es necesario tomar una muestra de los datos. Esta muestra debe tener en cuenta qu´e se pretende obtener con el proceso de miner´ıa de datos, por lo que no puede realizarse ´unicamente con los m´etodos tradicionales de an´alisis de datos. Adem´as existen nuevas y emergentes formas de obtener los datos, como es el caso de la informaci´on obtenida directamente de Internet, o de dispositivos m´oviles, que obliga a definir nuevos m´etodos de extracci´on de datos, a˜nadiendo as´ı una capa extra de complejidad t´ecnica que va m´as all´a del mundo de la estad´ıstica. Finalmente, los resultados que se persiguen con la miner´ıa de datos deben ser ´utiles para la empresa u organizaci´on, prestando atenci´on a la viabilidad de los an´alisis en relaci´on al beneficio que proporcionan. En conclusi´on, podemos decir que la miner´ıa de datos abarca m´as disciplinas que ´unica- mente el an´alisis de datos. De hecho las t´ecnicas de an´alisis en miner´ıa de datos deber´ıan formalizarse haciendo uso de los m´etodos estad´ısticos. Por otra parte, el contexto en que se ubica la miner´ıa de datos hace que esta disciplina tenga en cuenta otros factores de tipo t´ecnico, econ´omico y empresarial, fundamentales para aportar coherencia y justificar la inversi´on en la b´usqueda de nuevo conocimiento que soporte la toma de decisiones dentro de la empresa. 15
  • 16. 2.2. El proceso de miner´ıa de datos La miner´ıa de datos engloba una serie de actividades, desde la definici´on de objetivos hasta la evaluaci´on de resultados, descritos en los siguientes pasos: Definición de objetivos pretratamiento de los datos Análisis exploratorio Especificación de técnicas estadísticas Análisis de los datos Evaluación de los métodos utilizados Interpretación del modelo escogido Figura 2.2: Etapas en el proceso de la miner´ıa de datos Definici´on de los objetivos La definici´on de los objetivos incluye la especificaci´on de lo que se espera del an´alisis. No siempre es f´acil describir lo que se quiere descubrir. De hecho, los objetivos establecidos en entornos empresariales suelen ser claros, residiendo el problema en c´omo traducir los mismos en problemas espec´ıficos a tratar. Esta parte es una de las m´as dif´ıciles del proceso, ya que lo que se determine en esta etapa repercutir´a directamente en las dem´as fases del mismo. Por lo tanto, los objetivos deben ser claros y no dar lugar a dudas o incertidumbres. Organizaci´on de los datos Una vez est´en claros los objetivos, es necesario seleccionar los datos a analizar. El primer paso es identificar la fuente de donde obtener dichos datos. Normalmente suele ser un origen interno, m´as barato y fiable, si bien en el caso de las redes sociales deben ser extra´ıdos mediante los mecanismos oportunos. Los datos internos de la empresa tienen la ventaja de ser producto de experiencias y procesos pasados de la propia empresa. La fuente de datos ideal es el llamado almac´en de datos (data warehouse), un almac´en de datos hist´oricos que se mantiene est´atico (en el sentido de que se a˜nade informaci´on pero no se elimina) y del que es f´acil extraer informaci´on de inter´es. La construcci´on y estructuraci´on del data warehouse es una materia compleja en s´ı misma, vinculada directamente con las tecnolog´ıas de bases de datos. Normalmente en esta fase del proceso tambi´en se realiza el preprocesado de los datos, incluyendo la eliminaci´on de informaci´on irrelevante, identificando variables ´utiles y descar- tando aquellas que no sean objeto de estudio. 16
  • 17. An´alisis exploratorio de los datos El an´alisis exploratorio de los datos incluye un an´alisis preliminar de los mismos, que puede dar lugar a realizar transformaciones de las variables originales que ayuden al an´alisis, as´ı como a la identificaci´on de valores an´omalos. Esta es una fase importante porque permite al analista decidir qu´e m´etodos estad´ısticos pueden ser los m´as adecuados para la siguiente parte del an´alisis. Tambi´en puede suceder que, como resultado del an´alisis exploratorio, se decidan extraer nuevos datos porque los obtenidos inicialmente se consideren insuficientes para llegar a los objetivos establecidos. Especificaci´on de los m´etodos estad´ısticos Existen muchos m´etodos estad´ısticos que pueden ser utilizados y una gran cantidad de algoritmos. La elecci´on de los m´etodos depende del problema en cuesti´on y de los datos disponibles. An´alisis de datos Una vez se han especificado los m´etodos estad´ısticos a utilizar, deben ser trasladados a algoritmos apropiados que ayuden a obtener los resultados a partir de la informaci´on contenida en la base de datos. En la actualidad la variedad de software estad´ıstico y de paquetes especializados en miner´ıa de datos hace que normalmente no sea necesario desarrollar software propio, bastando con el que se proporciona por defecto. De todas formas, debe asegurarse que los resultados proporcionados se adec´uen a las caracter´ısticas del problema en cuesti´on y ayuden en la toma de decisiones. Evaluaci´on de los m´etodos estad´ısticos Para poder tomar una decisi´on final es necesario elegir el mejor an´alisis de entre los disponibles. Por lo tanto, la elecci´on del modelo y las reglas de decisi´on definitivas se basan en la comparaci´on de los resultados obtenidos con los diferentes m´etodos. Es posible que ninguno de los m´etodos utilizados permita obtener una conclusi´on clara. En ese caso, ser´a necesario retroceder y especificar nuevos m´etodos que sean m´as apropiados para el an´alisis. En miner´ıa de datos no suele bastar con un solo an´alisis de datos, algunas t´ecnicas se adaptan mejor que otras a un determinado problema. La ventaja de utilizar distintos m´etodos es que cada uno de ellos permite resaltar diferentes aspectos que de otra forma podr´ıan ser ignorados. La evaluaci´on de los m´etodos estad´ısticos suele ser una fase bastante ´agil, donde se eval´uan los diferentes m´etodos y se proporcionan pruebas de por qu´e unos m´etodos dan resultados que ayudan m´as o menos a obtener una conclusi´on a partir de los datos. 17
  • 18. Implementaci´on de los m´etodos La miner´ıa de datos no finaliza una vez los datos han sido analizados, incluye tambi´en la integraci´on de los resultados en los procesos de decisi´on dentro de la compa˜n´ıa. El conocimiento sobre la empresa, la extracci´on de reglas y su inclusi´on en los procesos internos permiten pasar de la fase m´as anal´ıtica a la creaci´on de un verdadero sistema de ayuda a la decisi´on. Por ejemplo, en el ´ambito de la segmentaci´on de clientes, una vez el modelo ha sido elegido y testeado con un conjunto de datos, las reglas de clasificaci´on pueden ser aplicadas a toda la poblaci´on. La inclusi´on del proceso de miner´ıa de datos dentro de la estructura de la empresa debe realizarse paulatinamente, estableci´endose objetivos realistas y obteniendo resultados gradualmente. El objetivo final es que el proceso est´e totalmente integrado con las dem´as herramientas utilizadas en la empresa para dar soporte a la toma de decisiones. 2.3. Evoluci´on hist´orica La idea del data mining no es nueva. Ya desde los a˜nos sesenta los estad´ıstas manejaban t´erminos como data fishing, data mining o data archaeology con la idea de encontrar correlaciones sin una hip´otesis previa en bases de datos que presentaban observaciones con ruido. El aprendizaje autom´atico est´a relacionado con la inform´atica y la inteligencia artificial y se encarga de encontrar relaciones y patrones en los datos que puedan ser convertidos en conocimiento. El objetivo del aprendizaje autom´atico es la reproducci´on del proceso de generaci´on de datos, permitiendo a los analistas generalizar a partir de los datos con- cretos observados. En 1958, el trabajo de Rosenblatt[33] introdujo el primer modelo de aprendizaje autom´atico, denominado perceptr´on. A partir de ´este se desarrollaron las re- des neuronales en la segunda mitad de la d´ecada de los 80. En el mismo per´ıodo, algunos investigadores perfeccionaron la teor´ıa sobre ´arboles de decisi´on, utilizada sobre todo en problemas de clasificaci´on. En la segunda mitad de los 80, debido al aumento de la relevancia de los m´etodos com- putacionales como base para el c´alculo estad´ıstico, hubo una evoluci´on en el desarrollo de m´etodos estad´ısticos multivariantes. Los m´etodos de aprendizaje autom´atico comen- zaron a utilizarse m´as all´a del ´ambito de las tecnolog´ıas de la informaci´on y la inteligencia artificial. En particular, se aplicaron para elaborar campa˜nas de marketing. De hecho, el t´ermino extracci´on de conocimiento en bases de datos (KDD) se acu˜n´o inicialmente para describir todos aquellos m´etodos que intentaban encontrar patrones dentro de conjuntos de datos. Gradualmente el t´ermino KDD se utiliz´o para todo el proceso de extrapolaci´on de informaci´on; una de sus fases era la llamada miner´ıa de datos, en referencia a la etapa donde los algoritmos de aprendizaje se aplicaban a los datos. Este t´ermino terminar´ıa por abarcar todo el proceso, como sucede en la actualidad. En la d´ecada de los 90, los estadistas comenzaron a interesarse en los m´etodos de aprendizaje autom´atico, lo que llev´o al desarrollo de nuevas metodolog´ıas. Fue entonces 18
  • 19. cuando los entornos empresariales comenzaron a englobar todas las partes del proceso de aprendizaje bajo la denominaci´on de miner´ıa de datos. Esta entrada en el ´ambito empresarial fue posible debido a la reducci´on en el coste del almacenamiento en las bases de datos y a los evidentes beneficios de la miner´ıa de datos. Las empresas comenzaron a utilizar estas t´ecnicas para dar soporte a las diferentes fases del ciclo de vida de los clientes, incluyendo la adquisici´on de nuevos clientes, el aumento de los beneficios de los clientes existentes y la fidelizaci´on de los mejores. En la actualidad, la miner´ıa de datos es utilizada en una amplia variedad de industrias y sectores incluyendo el an´alisis de texto, medicina, log´ıstica, telecomunicaciones, mar- keting, Internet y programas gubernamentales relacionados con la seguridad, el servicio a los ciudadanos y el fraude fiscal. Nuevas tendencias incluyendo el llamado webmining, extracci´on de conocimiento a partir de fuentes de datos online y la expansi´on de las redes sociales, han hecho que la miner´ıa de datos cobre renovada importancia. 2.4. M´etodos estad´ısticos Los m´etodos estad´ısticos utilizados en miner´ıa de datos pueden clasificarse dentro de tres grandes clases, atendiendo a los objetivos que persiguen: m´etodos descriptivos, m´eto- dos predictivos y m´etodos locales (Giudici[2]): M´etodos descriptivos (aprendizaje no supervisado) Tienen como objetivo describir los datos de la forma m´as resumida posible; tambi´en son llamados m´etodos indirectos o no supervisados, ya que no se conoce de antemano la clase a la que pertenecen los datos en una hipot´etica clasificaci´on. Todas las variables disponibles son consideradas por igual y no hay hip´otesis de causalidad entre ellas. Entre las t´ecnicas descriptivas m´as habituales encontramos: algoritmos de agrupamiento jer´arquico y no jer´arquico (clustering). mapas autoorganizados (SOM) y redes de Kohonen. m´etodos gr´aficos para la visualizaci´on de datos. M´etodos predictivos (aprendizaje supervisado) Los m´etodos predictivos buscan describir una o m´as de las variables en relaci´on a las dem´as, por ello tambi´en son llamados m´etodos supervisados. Para ello buscan patrones que permitan elaborar reglas de clasificaci´on o predicciones basadas en los datos existentes. Estas reglas permiten predecir o clasificar el resultado de una o m´as variables respuesta en relaci´on a una serie de variables denominadas explicativas, o de entrada. Los m´etodos m´as importantes son aquellos desarrollados en el campo del aprendizaje autom´atico como las redes neuronales (destacando el perceptr´on multicapa) y los ´arboles de decisi´on. Tambi´en entran dentro de esta categor´ıa modelos estad´ısticos cl´asicos como la regresi´on lineal y la log´ıstica. 19
  • 20. M´etodos locales El tercer grupo de m´etodos lo constituyen los m´etodos locales, cuyo objetivo ´ultimo es identificar aquellas caracter´ısticas particulares relacionadas con un subconjunto de inter´es en la base de datos. Desde esta consideraci´on, los m´etodos descriptivos y predictivos anteriormente citados pueden ser considerados como globales. El m´aximo exponente de m´etodos locales lo constituyen las reglas de asociaci´on, muy utilizadas para analizar datos transaccionales. 2.5. An´alisis Cl´uster El an´alisis de agrupamiento, ´o cluster, es una de las t´ecnicas descriptivas m´as utilizadas y estudiadas de entre todos los m´etodos utilizados en miner´ıa de datos. Tambi´en llamado segmentaci´on de datos, se utiliza de forma descriptiva para determinar si un conjunto de datos conforma o no un conjunto de subconjuntos (clusters), donde cada uno contiene objetos con caracter´ısticas comunes. Esto requiere de una medida de la similitud entre los objetos para poder asignarlos a los correspondientes clusters, lo que nos lleva a la noci´on de grado de similitud entre los objetos individuales que se agrupan. Un m´etodo de clustering intenta agrupar dichos objetos bas´andose en la definici´on de similitud que se utilice. Dada una matriz formada por n observaciones (filas) y p variables (columnas), el ob- jetivo del an´alisis cluster es agrupar dichas observaciones en grupos de forma que sean internamente homog´eneos (cohesi´on interna) y heterog´eneos entre los grupos (separaci´on externa). M´etodos de agrupamiento Podemos dividir los m´etodos de agrupamiento en dos grandes familias, atendiendo a c´omo realizan el agrupamiento de las observaciones. M´etodos jer´arquicos: comienzan la divisi´on con todas las observaciones separadas, partiendo de n clusters, uno para cada observaci´on. Como su nombre indica, se obtiene como resultado una representaci´on jer´arquica donde los clusters a cada nivel son creados uniendo los clusters existentes a niveles inferiores. En los niveles m´as bajos se encuentran las observaciones individuales mientras que en el nivel m´as alto existe un ´unico cluster conteniendo todas las observaciones. M´etodos no jer´arquicos: en estos m´etodos se obtiene una divisi´on de las n observa- ciones en g grupos, donde g debe ser definido a priori. Al contrario de los m´etodos jer´arquicos, el resultado es una ´unica partici´on que satisface el criterio de optimalidad que se haya definido, normalmente el agrupamiento que permite obtener la m´axima cohesi´on interna para el n´umero especificado de grupos. Para alcanzar esta meta, se clasifica cada observaci´on atendiendo al valor de una funci´on objetivo previamente establecida. 20
  • 21. Elecci´on de las variables La elecci´on de qu´e variables utilizar para el clustering tiene que tener en cuenta m´ultiples aspectos. Utilizar variables que tengan poca relevancia empeorar´a la calidad del resultado. En general, el agrupamiento puede considerarse satisfactorio cuando no muestra excesiva sensibilidad a cambios peque˜nos en el conjunto de variables utilizadas. Antes de realizar un an´alisis cluster es conveniente realizar alg´un tipo de an´alisis previo que nos proporcione informaci´on adicional sobre las propias variables objeto del estudio, con t´ecnicas como el an´alisis de la matriz de correlaci´on, o m´as sofisticadas como el An´alisis de Componentes Principales (PCA). 2.5.1. Determinaci´on del n´umero de clusters En los m´etodos no jer´arquicos es necesario proporcionar a priori el n´umero de clusters en los que se desean agrupar las observaciones iniciales. La determinaci´on del n´umero de clusters en un conjunto de datos es un problema frecuente, previo al propio an´alisis cluster, que se ha convertido en objeto de estudio independiente en s´ı mismo. En algunos tipos de algoritmos cluster existe un par´ametro normalmente referenciado como k, que especifica el n´umero de clusters a detectar. La elecci´on de k suele ser ambigua, con interpretaciones que dependen de la escala de la distribuci´on de los puntos del conjunto de datos y la resoluci´on que se desea en el resultado. Utilizar un n´umero de clusters demasiado grande puede llevar a resultados complejos dif´ıciles de interpretar y evaluar, si es demasiado grande se pierde la motivaci´on del an´alisis, mientras que la elecci´on de un n´umero de clusters demasiado bajo lleva a la p´erdida de informaci´on, no refleja correctamente las caracter´ısticas de los datos, y potencialmente, a la toma de decisiones err´oneas (Phama et al.[8]). Por lo tanto, en lugar de adoptar un valor de k predefinido, es una buena pr´actica probar con diferentes valores del mismo. Algunos m´etodos utilizados para encontrar el n´umero adecuado de clusters son: visualizaci´on del conjunto de datos, lo que puede funcionar bien para el caso concreto de dos variables, es decir, bidimensional; generalmente los conjuntos de datos son m´as complicados. construcci´on de reglas de parada: se recurre al uso de ´ındices para enfatizar la compactaci´on intracluster y la distancia intercluster utilizando herramientas como el error cuadr´atico medio, propiedades geom´etricas de los datos o la matriz de similitud. m´etodos heur´ısticos basados en diferentes t´ecnicas y aproximaciones. Una sencilla t´ecnica f´acilmente aplicable es la llamada regla del codo (Thorndike[4]), que parte de la regla intuitiva de que se deber´ıa elegir un n´umero ideal de clusters de forma que a˜nadir un nuevo cluster no modele notablemente mejor los datos, es decir, si representamos el porcentaje de varianza explicada frente al n´umero de clusters, los 21
  • 22. primeros a˜nadir´an mucha m´as informaci´on al modelo (explicar´an m´as varianza), pero a un determinado punto esta ganancia se reducir´a, lo que se traduce en la gr´afica en la aparici´on de un ´angulo (de ah´ı el nombre). El punto donde se produce este cambio representar´ıa el n´umero de clusters a utilizar. Sin embargo, este punto en ocasiones puede no ser claramente observable (Ketchen y Shook[3]). A continuaci´on describimos el m´etodo silhouette, una t´ecnica ampliamente utilizada para determinar el n´umero de clusters, que proporciona por un lado un resultado gr´afico que permite visualizar qu´e n´umero de clusters es m´as adecuado, y por otra parte un resultado num´erico para estimar la calidad del valor k elegido. 2.5.2. Representaci´on Silhouette Cuando se aplica un algoritmo de particionamiento en k clusters sobre un conjunto de n observaciones, el resultado obtenido suele ser una lista de las mismas y los clusters en los que se asignan. Sin embargo, este resultado no es tan visual como las representaciones en dendogramas utilizadas en los m´etodos jer´arquicos. La representaci´on en silhouettes (Rousseeuw[5]) es una representaci´on gr´afica de utili- dad cuando la proximidad entre las observaciones sigue una escala de raz´on (como es el caso de la distancia Eucl´ıdea) y el objetivo es obtener clusters compactos y claramente diferenciados. Una gran ventaja de este tipo de representaciones es la gr´afica obtenida, que permite valorar la calidad del ajuste de una forma r´apida e intuitiva. Para construir las representaciones silhouette se necesitan dos elementos: el particionamiento obtenido, (independientemente de la t´ecnica utilizada para re- alizarlo). una medida de la proximidad entre las diferentes observaciones, por ejemplo la matriz de similitud, o la matriz de distancias. Con estos datos se obtiene un valor s(i) para cada una de las observaciones. Si para cada observaci´on i indicamos como A el cluster en el que se asigna, se define: a(i) = media de la distancia de i frente a todos los dem´as elementos de A. Tomando ahora los dem´as clusters C donde no ha sido asignado i, d(i, C) = media de la distancia de i frente a todos los elementos de C. Finalmente, para todos los d(i,C), definimos el menor como b(i) = mind(i,C), con C = A. El cluster B asociado con b(i), es decir (d(i, B) = b(i)) se denomina vecino del objeto i, y podr´ıa verse como la segunda mejor clasificaci´on del objeto i si el cluster A no existiese. De esta forma, definimos s(i) como 22
  • 23. s(i) = b(i)−a(i) maxa(i),b(i) El valor del coeficiente Silhouette puede variar entre -1 y 1, siendo el mejor caso cuando vale 1, ya que indica que a(i)) = 0. Si el cluster A est´a formado por un s´olo elemento se define su s(i) = cero, ya que el valor a(i) no estar´ıa definido. Una vez hemos obtenido los valores s(i), puede obtenerse la media de todos los s(i) asociados a cada cluster y representarla gr´aficamente en funci´on del n´umero de clusters k. Como ejemplo, la siguiente figura muestra dos gr´aficos Silhouette obtenidos para difer- entes valores de k, en concreto k = 2, y k=4, aplicando el algoritmo PAM (descrito m´as adelante) al conjunto de datos Iris 1 , un conjunto ampliamente difundido entre la comunidad investigadora. Figura 2.3: Ejemplos de gr´aficos Silhouette La primera gr´afica describe el resultado al dividir el conjunto de pruebas en dos clusters. Se obtiene una media del valor s(i) igual a 0,68. En la segunda gr´afica, al agrupar en cuatro clusters el valor obtenido s(i) es menor (0.5), lo que nos indicar´ıa que ser´ıa m´as apropiado dividir en dos clusters. Operando de esta forma, si obtuvieramos el gr´afico Silhouette para un rango m´as amplio de valores de k, podr´ıamos determinar cual es el valor m´as conveniente y utilizarlo posteriormente para agrupar los datos por el m´etodo de agrupamiento que consideremos m´as adecuado, no teniendo que ser necesariamente el mismo utilizado para obtener las representaciones Silhouette. 1 http://archive.ics.uci.edu/ml/datasets/Iris 23
  • 24. 2.5.3. Algoritmo K-medias El algoritmo k-means (k-medias) (Hartigans y Wong[9]) es uno de los m´etodos cluster iterativos m´as conocidos. Se aplica principalmente cuando todas las variables son de tipo cuantitativo, y para cuantificar cu´anto cerca se encuentran unos puntos de otros se suele elegir como distancia la distancia eucl´ıdea al cuadrado (L2), d(xi , xi ) = p j−1 (xij − xi j )2 = xi − xi 2 Existen otras medidas como la distancia Manhattan, o la medida de Jaccard; la elecci´on depende del tipo de datos a tratar. Normalmente las medidas de distancia son relativamente simples ya que el algoritmo debe calcular repetidamente la cercan´ıa entre cada par de puntos, cada vez que se recal- culan los centroides. Esto hace que la rapidez de c´alculo de la medida de distancias sea un factor importante en el rendimiento del algoritmo (Tan et al.[6]). El objetivo del algoritmo k-means es agrupar M puntos representados en N dimensiones en k clusters de forma que la suma de los cuadrados intracluster sea m´ınima. El algoritmo toma como entrada una matriz de M puntos en N dimensiones y una matriz de k clusters iniciales centrados en dichas dimensiones. El n´umero de puntos en el cluster L se denota como NC(L). Para indicar la distancia eucl´ıdea entre el punto I y el cluster L se utiliza D(I,L). El procedimiento general es mover puntos de un cluster a otro para buscar una partici´on en K clusters que origine la suma de cuadrados intracluster m´ınima (un ´optimo local). En el primer paso, los puntos son asignados a los centroides iniciales, que se encuentran en el grupo m´as poblado de puntos. Una vez hecho esto, se actualizan los centroides. De forma general podemos describir el algoritmo k-means en los siguientes pasos, 1. seleccionar k puntos como los centroides iniciales. 2. repetir 3. construir k clusters asignando cada punto a su centroide m´as cercano. 4. recalcular el centroide de cada cluster. 5. hasta que los centroides no cambien. Cuando el algoritmo termina, debido a que no se producen nuevos cambios en los centroides, ´estos identifican los clusters alrededor de los cuales se agrupan los puntos. La mayor parte de la convergencia tiene lugar en los primeros pasos, cuando el movimien- to de los diferentes valores da lugar a mayores cambios en los centroides; por ello el criterio de parada del ´ultimo paso suele relajarse a una condici´on m´as suave, por ejemplo hasta que s´olo el 1 % de los puntos cambien de cluster. La siguiente figura muestra el resultado de la aplicaci´on del algoritmo k-means sobre el conjunto de datos Iris, tomando un valor de k igual a 3; siendo ´este un conjunto muy 24
  • 25. estudiado sabemos a priori que los datos se agrupan en 3 clases. Cada una de las filas corresponde a una de las dimensiones originales de los datos, y cada color a uno de las clases (versicolor, cetosa y virg´ınica). Sepal.Length 2.0 2.5 3.0 3.5 4.0 q q q q q q q q q q q qq q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q qq q q q q qq q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q qq q q q q q q q q q q q q qq qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q 0.5 1.0 1.5 2.0 2.5 4.55.56.57.5 q q q q q q q q q q q qq q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q qq q q q q qq q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q 2.02.53.03.54.0 q q q q q q q q q q q q qq q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q qq q q q q q q q qq q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q qq q q q q q q q q q Sepal.Width q q q q q q qq q q q q qq q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q qq q q q q q q q qq q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q qqq q q q q q q q q q q q q q q qq q q q q qq q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q qq q q q q q q q qq q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q qq q q q q q q qq q q q q q q q q q q q q q q q qq q q q q q q q q q qq q q q q q q qq q q q q q q q q qqq q q q q qq q qq q q q q qq q q q q q q q qq qq qq qq qq q qqq q qqq q q q q q qq q q q q qq q q q q q q q q q qq q q q q q q q q q q q q q qq q q q q q q qq q q q q qqq q q q q q q q q q q q q q q q q qq q q q q q q q q q q q qq q q q q q q q q qq q q q qq q q q q q q q qq q q q q qqq q qq q q q q qq q q q q q q q q qqq qq q qqq q qqq q qq q q q q q q qq q q q q qq q q q q q q q q q qq q q q q q q q qq q q q q qq q q q q q q qq q q q q q qqq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q qq q q q q q q q Petal.Length 1234567 qqq qq q qqqqqq q qq q qq q q q q q q q q qqq qq qqqq qqqq q qqq q q q q qqq q q q q qq q q q q q q q q q qq q q q q q q q qq q q q q qq q q qq q q qq q q q q qqqq q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q qq q q q qq q q q q q q q 4.5 5.5 6.5 7.5 0.51.01.52.02.5 qqqq q q q qq q qq qq q qq q qq q q q q q q q qqqq q q qqq q q q q qq q q q q qq qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qqq q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q qqq q q q q q q q q q qq q q q q q q q q q q q qq qq q q q qq q qq qq q qq q qq q q q q qq q qqqq q q qqq q q q q qq q q q q qq qq q qq q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q qq q q q q q q qq q q q q q q q q q qq q q q q q q q q q q q q qq q q qq q q q q q q q q q q qq q q q q q q q q q q q 1 2 3 4 5 6 7 qqqqq q q qq q qq qq q qq qqq q q q q qq q qqqq q q qqqq q qq qq q q q q qqqq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qqq q q q q q q qq q q q q q q q q q qq q q q q q q q q q q q q q q q q qqq q q q q q q q q q qq q q q q q q q q q q q Petal.Width Figura 2.4: Ejemplo de K-medias Entre los inconvenientes del m´etodo k-medias podemos citar: el algoritmo k-means asume que el n´umero de clusters k es conocido de antemano, lo que raramente sucede, (y lleva a recurrir a m´etodos para calcular dicho k previamente a aplicar el algoritmo). siendo una t´ecnica iterativa, el algoritmo k-means es especialmente sensible a las condiciones de inicio (n´umero de clusters y orden de los datos). De hecho algunos autores (Hartigan y Wong[9]) sugieren iniciar el algoritmo con diferentes valores para las medias iniciales, y elegir la soluci´on que d´e el menor valor para la funci´on objetivo. el algoritmo converge la mayor´ıa de las veces a un m´ınimo local. A favor del algoritmo k-means est´a su baja demanda de recursos: el espacio en memoria requerido para los c´alculos es peque˜no ya que solamente se guarda informaci´on sobre los datos originales y los centroides. En concreto, la memoria necesaria es del orden de O((m + K)n), siendo m el n´umero de puntos y n el n´umero de dimensiones. El tiempo invertido en los c´alculos es tambi´en reducido, pr´acticamente lineal con el n´umero de puntos 25
  • 26. (orden O(I∗K∗m∗n)) donde I es el n´umero de iteraciones requeridas para la convergencia, que suele ser peque˜no y normalmente acotable f´acilmente, ya que como hemos indicado anteriormente la mayor´ıa de los cambios se producen en las primeras iteraciones (Tan et al.[6]). Podemos decir que el algoritmo k-medias es lineal con m, el n´umero de puntos, sien- do eficiente y simple siempre que k, el n´umero de clusters, sea significativamente m´as peque˜no que m. Esto hace que, frecuentemente, se utilice como primera opci´on al llevar a cabo estudios preliminares de los datos, o como una fase de procesamiento inicial para obtener una configuraci´on inicial que sirva de punto de partida para otros algoritmos m´as complejos. 2.5.4. Algoritmo PAM El algoritmo PAM (partitioning around medoids) es el exponente m´as representativo del llamado algoritmo k-medoides (k-medoids). El objetivo del algoritmo PAM es encontrar grupos que presenten un alto grado de simil- itud entre sus elementos mientras que los elementos pertenecientes a diferentes clusters sean lo m´as distintos posible (Kauman y Rousseeuw[10]). En algoritmos como k-medias, los elementos representativos de cada cluster son los centroides. El algoritmo PAM se basa en la misma idea de b´usqueda de k elementos representativos pero tomando los llamados medoides para cada cluster: aquellos elementos del cluster que minimizan la distancia media respecto a los dem´as puntos, es decir, los centros de los clusters son puntos reales del propio cluster. Una vez encontrados dichos elementos, los clusters se construyen asignando cada punto del conjunto de datos al medoide m´as cercano. Algorithmo 1 Algoritmo PAM 1. Dada una distribuci´on de los puntos en el cluster C, encontrar el elemento en el cluster que minimice la distancia total a los dem´as puntos de dicho cluster: i∗k = argmin{i:C(i)=k} C(i )=k D(xi , xi ). Los valores mk , k = 1,2,. . . ,K son las estimaciones iniciales de los medoides de los clusters. 2. Dado el conjunto actual de medoides {m1,. . . ,mK} minimizar el error total asignando cada observaci´on al medoide m´as cercano de los clusters existentes. C(i) = argmin 1<=k<=K D(xi , mk ). 3. Repetir los pasos 1 y 2 hasta que los medoides no cambien. 26
  • 27. El primer paso, donde el algoritmo busca un conjunto inicial v´alido de medoides tambi´en recibe el nombre en la literatura de fase de construcci´on (BUILD phase), mientras que la segunda fase es denominada fase de intercambio (SWAP phase). Como ejemplo aplicaremos el algoritmo PAM al conjunto de datos Iris, utilizando un valor de k igual a 3. La Figura 2.5 muestra la representaci´on en silhouettes, frecuentemente utilizada para visualizar los resultados del m´etodo PAM. Silhouette width si 0.0 0.2 0.4 0.6 0.8 1.0 Silhouette plot of pam(x = iris, k = 3) Average silhouette width : 0.57 n = 150 3 clusters Cj j : nj | avei∈Cj si 1 : 50 | 0.80 2 : 52 | 0.41 3 : 48 | 0.51 Figura 2.5: Ejemplo de PAM sobre el conjunto Iris Comparado con el m´etodo k-medias, PAM presenta las siguientes ventajas: PAM trabaja con la matriz de distancias del conjunto de datos. Si en lugar de este dato se proporciona una matriz de n observaciones y p dimensiones, el algoritmo calcula dicha matriz en primer lugar. es m´as robusto ya que se minimiza la suma de distancias en lugar de la suma de los cuadrados de las distancias eucl´ıdeas. los resultados no dependen del orden en que se presenten las observaciones (a ex- cepci´on de cuando existen m´ultiples soluciones equivalentes, lo que es muy poco frecuente). Desde el punto de vista del rendimiento, el c´alculo del paso 2. del algoritmo requiere un esfuerzo computacional proporcional al n´umero de observaciones asignadas al cl´uster, mientras que para resolver el primer paso el orden de complejidad es O(N2 k ). Con todo esto, 27
  • 28. PAM es mucho m´as costoso de calcular que el algoritmo k-means, y para conjuntos de datos grandes se suele recurrir a otros algoritmos, como CLARA, descrito a continuaci´on. 2.5.5. CLARA El m´etodo de particionamiento PAM descrito anteriormente da buenos resultados en- muchos casos. Sin embargo, para conjuntos de datos muy grandes presenta problemas de escalabilidad en el tiempo de c´alculo y la memoria necesarios. Debido a esto se plante´o CLARA (abreviaci´on de Clustering LARGge Applications), especialmente adaptado para aplicaciones que hacen uso de grandes conjuntos de datos. El clustering mediante CLARA se lleva a cabo en dos fases. Primero, una muestra se toma del conjunto de datos y se agrupa en k clusters utilizando el m´etodo PAM, por lo que se obtienen k elementos representativos. A continuaci´on todos los elementos que no pertenecen a la muestra se asignan al m´as cercano de los k representantes, lo que propor- ciona un agrupamiento de todo el conjunto de datos. Una medida de la calidad de este m´etodo puede obtenerse calculando la distancia media entre cada elemento del conjunto de datos y su representante m´as cercano. Este proceso se repite 5 veces, tomando cada vez una muestra aleatoria sobre el conjunto total, y seleccionando como soluci´on aquella que proporcione una menor distancia media respecto de su cluster m´as cercano. A continuaci´on se define la funci´on utilizada para calcular dicha distancia. Cost(M, D) = i=1 n distancia(Oi , rep(M, Oi )) n donde M es un conjunto de los medoides escogidos, distancia(Oi , Oj ) es la distancia entre los objetos Oi y Oj , y rep(M, Oi ) devuelve el medoide en M m´as cercano a Oi . Los datos de entrada al algoritmo son id´enticos a los proporcionados para PAM y similares m´etodos de agrupamiento, con la excepci´on de que con CLARA s´olo es necesario proporcionar la matriz original de datos (de n observaciones y p dimensiones). La matriz de distancias se calcula posteriormente, solamente respecto a la muestra. Los resultados obtenidos pueden darse en forma de representaci´on gr´afica mediante silhouettes de la muestra seleccionada (ya que hacerlo con todo el conjunto de datos podr´ıa ser demasiado costoso). El hecho de utilizar una muestra hace que la calidad de los resultados dependa en gran medida del tama˜no de la misma. Si la muestra es peque˜na CLARA es un m´etodo muy r´apido pero a costa de perder calidad en el agrupamiento. Por otra parte, al tomar muestras de tama˜no fijo, el tiempo de c´alculo y espacio en memoria se mantienen lineales con el n´umero total de elementos del conjunto en lugar de cuadr´aticos, como suced´ıa en el algoritmo k-means. Adem´as, CLARA tambi´en proporciona informaci´on relativa a cada cluster, como su tama˜no y los medoides obtenidos. Finalmente tambi´en proporciona un ratio de la m´axima distancia de cada medoide respecto a su distancia al medoide m´as cercano; este valor da una idea de la compactaci´on del cluster. Un valor peque˜no (≈ 20) indica un cluster muy compacto mientras que un valor > 1 refleja un cluster d´ebil. 28
  • 29. 2.5.6. Clustering jer´arquico En los m´etodos de clustering anteriores como k-medias, el resultado depend´ıa en gran medida del n´umero de grupos a buscar (el par´ametro k). Por el contrario, los m´etodos de agrupamiento jer´arquico no lo necesitan. En su lugar debe proporcionarse una medida de distancia entre dos grupos de observaciones dadas, basada en las distancias de las observaciones de cada uno de ellos. Como el nombre indica, lo que se obtiene son representaciones jerarquizadas donde los clusters de cada nivel de la jerarqu´ıa se obtienen uniendo los clusters existentes en los niveles inferiores. En el nivel m´as bajo cada cluster contiene una ´unica observaci´on mientras que en el nivel m´as alto existe un ´unico cluster agrupando todas las observaciones. Sepal.Length Petal.Width Sepal.Width Petal.Length 2530354045 Cluster Dendrogram hclust (*, "ward") d Height Figura 2.6: Cluster jer´arquico (aglomerativo, distancia de Ward) del conjunto Iris Las estrategias para el clustering jer´arquico pueden ser divididas en dos grandes grupos: aglomerativas (tambi´en llamadas bottom-up) y divisivas (o top-down). Las estrategias aglomerativas comienzan por abajo, en cada nivel recursivamente fusionan un par de clus- ters (aquellos con menor distancia entre s´ı) en uno solo, lo que produce un agrupamiento en el siguiente nivel con un cluster menos. Los m´etodos divisivos por el contrario comien- zan en la parte superior del ´arbol y en cada nivel recursivamente dividen uno de los clusters existentes en dos nuevos clusters, aquellos dos con mayor distancia entre s´ı. Ambas es- trategias generan un total de N-1 niveles. Todos los m´etodos aglomerativos presentan una propiedad de monotonicidad; la dis- tancia entre los clusters fusionados en cada nivel se incrementa progresivamente. Esto 29
  • 30. hace que el ´arbol pueda ser representado mediante un dendograma de forma que el peso de cada nodo sea proporcional al valor de la distancia entre sus nodos hijo. Los nodos terminales, que representan observaciones individuales, se representan en la base. El c´alculo de la distancia entre las observaciones puede hacerse mediante diversas f´ormu- las, dando cada una resultados distintos. No existe una mejor que otra y la elecci´on suele depender del dominio del problema y los datos a analizar. Hay que destacar que los m´eto- dos jer´arquicos necesitan ´unicamente como entrada la matriz de distancias, por lo que una vez calculada no es necesario trabajar m´as con los datos originales. Una de las distancias m´as habituales es la distancia eucl´ıdea: a − b 2 = (ai − bi )2 Adem´as de una medida de la distancia entre muestras, es necesario definir una medida de la distancia entre dos clusters. De forma similar, existen diversas medidas: Single Linkage (SL): tambi´en llamada la t´ecnica del vecino m´as pr´oximo. Toma como distancia entre clusters la menor distancia entre dos pares cualquiera de ambos clusters: dSL(G, H) = m´ıni∈G,i ∈H dii Complete Linkage (CL): tambi´en llamada t´ecnica del vecino m´as lejano. Toma como distancia entre dos clusters la mayor distancia existente entre dos pares de observa- ciones cualuesquiera de dichos clusters. dCL(G, H) = m´axi∈G,i ∈H dii Group Average (GA): utiliza la media de las distancias entre ambos grupos: dGA(G, H) = 1 NhNG i∈G i ∈H dii distancia de Ward: propuesta de Ward (Ward[26]). El objetivo es buscar las parti- ciones Pk , Pk−1, . . . , P1 de forma que se minimice la p´erdida asociada a cada agru- pamiento y permita cuantificar dicha p´erdida de forma intuitiva. La p´erdida de in- formaci´on se expresa en t´erminos de una suma de cuadrados (ESS); ESS = K k=1 xi ∈Ck p j=1 (xij − ¯xkj )2 La principal diferencia de este m´etodo con los anteriores es el proceso de fusi´on de los clusters, ya que no se unen los que tengan menor distancia sino aquellos que no incrementen en exceso la heterogeneidad. Lo que se busca es unir clusters de forma que la variaci´on dentro de los mismos no se incremente. Como resultado se obtienen clusters que son lo m´as homog´eneos posible. 30
  • 31. De nuevo no existe una regla sobre cu´ando utilizar una medida u otra. Si los datos presentan tendencia al agrupamiento en clusters compactos y claramente separados unos de otros, los 4 m´etodos producir´an resultados similares. Las t´ecnicas de clustering jer´arquico est´an ampliamente extendidas ya que son f´aciles de aplicar y los dendogramas resultantes proporcionan informaci´on de manera intuitiva. 2.6. An´alisis de Componentes Principales PCA (an´alisis de componentes principales) (Pearson[23]) es una t´ecnica que explora datos multivariantes, y define nuevas variables expresadas como combinaciones lineales de las originales de forma que el eje principal se encuentra en la direcci´on que contiene m´as variacion. Cada nueva variable es ortogonal a las precedentes, siempre en la direcci´on en la que se explique m´as variabilidad. Las nuevas variables a menudo son llamadas variables latentes, (LVs), y en el contexto del an´alisis PCA reciben el nombre de componentes principales (PCs). La idea principal del PCA es que a menudo muchas de las variables son superfluas, por lo que se busca una reducci´on de la dimensionalidad, pasando de un espacio multidimensional a otro con menos variables pero manteniendo la mayor parte de la informaci´on existente en los datos originales, reduciendo la dimensionalidad del conjunto inicial. Los mejores resultados se obtienen cuando la mayor parte de los datos pueden ser representados en referencia a un subespacio bidimensional (un plano), ya que los resultados pueden ser vistos directamente en referencia a estas dos dimensiones en lugar de un gran n´umero de dimensiones. Si los datos se representan en mas de dos dimensiones en el subespacio tambi´en es posible la visualizaci´on (generalmente se eligen dos de las mismas de forma interactiva). El an´alisis PCA puede hacerse mediante la descomposici´on en autovectores de la matriz de covarianza de los datos o bien a trav´es de la descomposici´on de la matriz de datos en valores ´unicos, normalmente tras centrar en media la matriz de datos, ya que las diferencias en media de las diferentes variables puede alterar el resultado del an´alisis. Los resultados obtenidos del an´alisis se suelen expresar en t´erminos de dos valores para cada observaci´on: Scores: las coordenadas de las muestras en el nuevo espacio. Son los valores de cada observaci´on al calcular los nuevos valores de las variables. Loadings: el peso por el cual debe multiplicarse cada variable original para obtener el score. Multiplicando scores y loadings se obtiene nuevamente una aproximaci´on de los datos originales (aproximada, ya que una cierta parte de la informaci´on se habr´a perdido en la descomposici´on inicial). El an´alisis PCA permite representar los scores y loadings a trav´es de sendos gr´aficos hom´onimos, lo que ayuda a la interpretaci´on de los resultados. 31
  • 32. Figura 2.7: Gr´afico de Scores y Loadings resultantes del PCA sobre el conjunto Iris En la Figura 2.7 vemos un ejemplo de la aplicaci´on del PCA sobre el conjunto Iris. El gr´afico de scores muestra como dos de las clases del conjunto pueden separarse lineal- mente (la nube de puntos de las observaciones aparece dividida). En el gr´afico de loadings se refleja la relaci´on entre las variables de longitud de p´etalos Petal.Length y ancho de p´etalos Petal.Width. Tambi´en se indica la variabilidad explicada por la primera componente (72.96 %) y la segunda (22.85 %). El uso del PCA permite por lo tanto reducir la dimensionalidad de problemas aparente- mente inabordables y proporciona una herramienta para estudiar la variabilidad mediante la b´usqueda de estructuras subyacentes que pueden pasar desapercibidas mediante otras t´ecnicas anal´ıticas. El hecho de que sea una t´ecnica no param´etrica es por una parte una ventaja para el an´alisis exploratorio, pero por otra un inconveniente en ciertos casos al impedir al analista aportar su posible conocimiento sobre el dominio del problema. A´un as´ı, el an´alisis de componentes principales es una t´ecnica muy extendida aplicable a una gran cantidad de problemas en campos muy diversos. 2.7. Reglas de asociaci´on El an´alisis mediante reglas de asociaci´on se ha convertido en una herramienta muy utilizada para el estudio de bases de datos comerciales. El objetivo es obtener conjuntos de las variables X = (X1, X2, . . . , Xp) que aparezcan con mayor frecuencia en el conjunto de datos. Normalmemente se utiliza para datos de tipo binario donde Xj ∈ {0, 1}; en este caso frecuentemente se denomina an´alisis de la “cesta de la compra”, donde las observaciones son ventas de productos. Las variables representan los productos vendidos en la tienda. Para cada una de las i observaciones cada variable Xj toma el valor 1, xi j = 1 si se ha producido una venta, o 0 en caso contrario. Aquellas variables que coincidan con valor 32
  • 33. unitario frecuentemente se considerar´an como productos que se han vendido juntos. Esta informaci´on puede ser muy ´util en campos como la planificaci´on log´ıstica, t´ecnicas de publicidad, dise˜no de cat´alogos y segmentaci´on de consumidores seg´un sus patrones de consumo. El planteamiento original de las reglas de asociaci´on, debido a la explosi´on combina- cional que presenta, requiere de algunas simplificaciones para que puedar ser utilizable para conjuntos de transacciones relativamente grandes (106 , 108 ), tama˜nos habituales en entornos comerciales. Esto ha llevado a la b´usqueda de algoritmos para la elaboraci´on de reglas de asociaci´on que sean r´apidos y aplicables en la pr´actica, siendo el algoritmo Apriori uno de los m´as extendidos. Las reglas de asociaci´on en el algoritmo Apriori pueden ser vistas como relaciones de la forma “if-then”, obtenidas directamente de los datos de entrada, por lo que son por naturaleza de car´acter probabil´ıstico. A ⇒ B Tanto para el primer elemento de cada regla (A) denominado antecedente, como para el segundo, consecuente (B) se asigna una medida de la calidad de la misma a trav´es de dos medidas: El soporte (support) de la regla: es el n´umero de transacciones que contienen to- dos los elementos del antecedente y consecuente de la regla. Suele expresarse en t´erminos de porcentaje respecto al total de observaciones . La confianza (confidence) de la regla: es el ratio entre el n´umero de transacciones que incluyen el antecedente y consecuente de la regla (el soporte) y el n´umero total de reglas que incluyen el antecedente: C(A ⇒ B) = T (A⇒B) T (A) El tercer par´ametro de inter´es en las reglas de asociaci´on es el lift, que no es m´as que el n´umero total de transacciones que incluyen el consecuente dividido entre el n´umero total de transacciones: L(A ⇒ B) = C(A⇒B) T (B) Es un valor que proporciona informaci´on sobre el aumento de la probabilidad del con- secuente dada una ocurrencia del antecedente. El algoritmo Apriori proporciona un buen rendimiento al reducir el n´umero de conjuntos candidatos. Sin embargo, en escenarios con conjuntos muy frecuentes, grandes subcon- juntos o con un nivel de soporte muy bajo, necesita generar un gran n´umero de candidatos por lo que debe recorrer varias veces todo el conjunto de datos, aumentando el tiempo computacional. A´un as´ı, dada su sencillez y rapidez se encuentra entre las t´ecnicas de miner´ıa de datos m´as utilizadas (Wu et al.[22]). 33
  • 34. 2.8. CART / Random Forest El m´etodo CART (Classificacion and Regression Tree) (Breiman et al.[25]) es un pro- cedimiento recursivo de particionamiento binario que permite utilizar variables cuantitati- vas y categ´oricas tanto como variables predictoras como variables respuesta. Adem´as no necesita que los datos de entrada sean transformados de forma alguna. Los ´arboles se construyen hasta que alcanzan un tama˜no m´aximo l´ımite (sin necesidad de especificar una regla de parada) y posteriormente son podados atendiendo a un ratio coste/complejidad. Esto es as´ı ya que, aunque en los trabajos anteriores sobre ´arboles de decisi´on se constru´ıan hasta que se cumpl´ıa una regla de parada, en CART no existe una regla que d´e garant´ıas de que deteniendo el proceso no se dejar´an fuera datos impor- tantes. Como consecuencia de esto, es necesario introducir la fase de poda anteriormente mencionada. Cuando se finaliza, el ´arbol resultante adem´as es invariante al orden de los datos de entrada. El m´etodo CART est´a pensado para producir no s´olo uno, sino una secuencia de ´arboles (simplificados mediante la poda) que puedan ser candidatos a ´arboles ´optimos. Las reglas de divisi´on mediante las cuales se construye el ´arbol son de la forma una observacion se clasifica a la IZQUIERDA si se cumple la CONDICI ´ON, a la DERECHA en otro caso donde dicha condici´on se expresa de la forma “atributo Xi <= C para variables cuan- titativas. En el caso de variables nominales, la condici´on se indica como pertenencia a una lista expl´ıcita de valores. El hecho de que sean ´arboles binarios favorece que el parti- cionamiento requiera m´as pasos, y permite repetir particiones utilizando el mismo atributo. La poda se lleva a cabo utilizando solamente los datos de entrenamiento y comienza calculando la siguiente medida de coste/complejidad: Ra(T) = R(T) + AT donde R(T) es el coste del ´arbol constru´ıdo con los datos de entrenamiento, T es el n´umero de nodos terminales del ´arbol y a es una penalizaci´on impuesta en cada nodo. Si a = 0 se obtiene el valor m´ınimo de coste/complejidad. La poda se realiza paso a paso donde en cada iteraci´on se elimina el nodo que menos aporta, por lo que aquellos m´as peque˜nos (que dividen menos datos) ser´an eliminados antes. El proceso contin´ua ascendentemente hasta que se detiene, por lo que puede suceder que si no se puede explicar el atributo objetivo se acabe con un ´arbol sin hojas, ´unicamente la raiz, lo que indica que no existe una soluci´on factible. CART es capaz de trabajar con datos faltantes, situaci´on muy frecuente en escenarios reales, utilizando un mecanismo que se aplica en las tres fases: (a) durante la divisi´on de las ramas del ´arbol, (b) cuando se aplican datos de entrenamiento sobre los nodos del ´arbol, y (c) cuando se utilizan datos de testeo para clasificar las observaciones en uno de los nodos terminales del ´arbol. La importancia de un atributo en CART se basa en la suma de las contribuciones en todos los nodos en los que dicho atributo se utiliza como divisor (ponderado con la 34
  • 35. fracci´on del conjunto de entrenamiento utilizado en el nodo). Aqu´ı se incluyen tambi´en valores subrogados, por lo que puede que una variable que no divida en ning´un nodo puede tener una importancia alta. Esto permite descubrir influencias de variables aparentemente ocultas y correlaciones no lineales. Entre las ventajas de CART podemos citar: se obtienen unas reglas de clasificaci´on que permiten una interpretaci´on sencilla. al ser un m´etodo no param´etrico no es necesario validar los datos a la adecuaci´on a ninguna distribuci´on de probabilidad. tanto las variables predictoras como las predichas pueden ser de diferente naturaleza: binarias, nominales, ordinales, etc. La aparici´on del m´etodo CART supuso el asentamiento de las bases te´oricas de la teor´ıa sobre ´arboles. Los trabajos anteriores eran m´etodos en la pr´actica ´utiles, cuyas propiedades hab´ıan sido obtenidas en base a unos pocos ejemplos emp´ıricos, pero carec´ıan de base te´orica formal (Wu et al.[22]). Como desventajas de CART podemos citar: es poco robusto: peque˜nos cambios en los datos pueden originar ´arboles muy distin- tos. puede suceder que al realizar una divisi´on existan dos variables igual de buenas; en este caso se pierde informaci´on al escoger una de ellas. cada divisi´on depende de las divisiones precedentes. Esta serie de inconvenientes hizo que se buscase una metodolog´ıa alternativa que mit- igase dichos defectos, denominada random forest (Breiman[7]), que se basa en 3 carac- ter´ısticas fundamentales: m´ultiples ´arboles: no se genera un solo ´arbol sino un conjunto de ellos. Adem´as no es necesario podarlos posteriormente. se generan conjuntos de datos similares mediante bootstrap, t´ecnica que consiste en tomar datos de muestreo con reposici´on (aproximadamente el 30 % de la muestra original). De esta forma se corrige el error de predicci´on y se dispone siempre de una muestra independiente para estimar el error de clasificaci´on. a la hora de dividir un nodo, en lugar de escoger la mejor variable se seleccionan al azar un conjunto de variables y se busca la mejor en dicho conjunto. El objetivo de este procedimiento es aumentar la variabilidad y reducir la dependencia de una divisi´on respecto de las anteriores. Como resultado, random forest no proporciona una salida gr´afica como CART, sino una lista de importancia de las diferentes variables involucradas. Como posible inconveniente es preciso citar que random forest requiere de una capacidad de c´alculo relativamente alta si lo ponemos en comparaci´on con CART, debido fundamentalmente al gran n´umero de ´arboles que deben ser generados en la fase de bootstrap. 35
  • 36. Cap´ıtulo 3 Redes Sociales En este cap´ıtulo proporcionamos una breve introducci´on a las redes sociales. Describi- mos las partes m´as importantes de las mismas y su relaci´on con los sistemas de recomen- daci´on, presentes hoy en d´ıa en innumerables tiendas online y comunidades de usuarios. Abordamos la problem´atica de la recomendaci´on, y en concreto analizamos los sistemas de recomendaci´on musicales basados en etiquetas (tags). Finalmente para este tipo de sistemas proponemos la elaboraci´on de indicadores (denominados dimensiones) que ayuden al proceso de recomendaci´on, como base te´orica del m´etodo utilizado posteriormente en el caso de estudio en el Cap´ıtulo 4. 3.1. Introducci´on Cualquier tipo de relaci´on social puede representarse en t´erminos de elementos que componen dicha agregaci´on y las relaciones entre los mismos. Este tipo de relaci´on de la estructura es lo que se denomina como “Red Social”. En una red social cada unidad, denominada “actor” (una persona, grupo, o un elemento abstracto) se representa como un nodo; una relaci´on entre dos actores se representa mediante un enlace entre ambos. El conjunto de posibles relaciones es potencialmente infinito; una relaci´on puede reflejar muchos conceptos: pertenencia, similitud, jerarqu´ıa, o conexiones f´ısicas, por citar algunos ejemplos. Por lo tanto, los objetos en estudio no son ´unicamente los individuos y sus atributos, sino tambi´en las relaciones entre los individuos y su estructura. La ventaja de esta representaci´on es que permite el an´alisis del conjunto social como un producto de la relaci´on entre sus actores. En la actualidad, podemos definir las redes sociales como sistemas donde (Boyd y Ellison[29]): los usuarios son las entidades principales del sistema, con un perfil (atributos) semi- p´ublico. los usuarios pueden crear libremente enlaces expl´ıcitos con otros usuarios o con- tenidos. es posible navegar dentro de la red a trav´es de dichos enlaces y perfiles de otros usuarios. 36
  • 37. La utilidad de las redes sociales es muy amplia, como tambi´en lo es la tem´atica de cada una de ellas, pero podemos distinguir tres roles principales comunes a todas las redes actuales. Primero, las redes sociales se utilizan para mantener y fortalecer v´ınculos so- ciales existentes, o establecer algunos nuevos. Segundo, permiten que los propios usuarios a˜nadan contenido, proporcionando nueva informaci´on al sistema, lo que constituye el ver- dadero valor a˜nadido de la red. Por ´ultimo, las redes son usadas como instrumentos para obtener nueva informaci´on, filtrando y organizando los contenidos de los propios usuarios. 3.2. Estructuraci´on de los datos: tags El contenido a˜nadido por los usuarios a las redes sociales puede ser de diversa natu- raleza. La informaci´on existente en la red sobre el propio contenido servir´a a los dem´as usuarios como instrumento para poder encontrarlo. Por lo tanto es necesario introducir un mecanismo que permita localizar y adem´as describa de alguna manera el contenido. Esto es la denominada metainformaci´on, es decir, informaci´on sobre el contenido de los recursos existentes (por ejemplo nombre, fecha de creaci´on o formato); puede ser de cierta ayuda, pero es necesario un instrumento m´as flexible que dote de mayor libertad y flexibilidad a los usuarios. En la actualidad, el problema de la descripci´on de contenidos se resuelve en las redes sociales mediante los denominados tags (etiquetas). Un tag es una palabra clave, gen- eralmente en texto plano, que se asigna a cierto contenido (una imagen, o un archivo por ejemplo) o a un recurso abstracto como un enlace web, o un usuario de la propia red. La ventaja de utilizar tags reside en que permiten localizar la informaci´on existente, y adem´as al ser texto plano su interpretaci´on es m´as intuitiva. Suelen estar asociados a contenidos diferentes de texto, como audio o im´agenes, ya que del primero puede obtenerse informa- ci´on adicional analizando directamente el contenido (buscando palabras frecuentes, por ejemplo). Dependiendo del sistema, los tags se asignan bien por el creador del recurso, o bien por los usuarios que hacen uso del mismo. El uso de tags en los contenidos de los usuarios aporta valor sem´antico a la red, sobre todo si se permite a los usuarios etiquetar sus propios contenidos libremente, sin que exista una clasificaci´on previa de los tags a utilizar. Esto ha llevado al desarrollo de las denominadas folksonom´ıas. Al permitir a los usuarios expresarse libremente utilizando su vocabulario para describir contenidos, se aporta mucha m´as informaci´on sobre la informaci´on etiquetada, ya que los usuarios no se centran tanto en clasificar como en describir la informaci´on referenciada. Esto hace que autom´aticamente emerjan patrones culturales similares, apareciendo vo- cabularios comunes incluso cuando no existe un control previo sobre las etiquetas (Halpin et al.[30]). De forma similar, en grandes folksonom´ıas, incluso aparecen categorizaciones naturales de los contenidos fruto de las asociaciones entre etiquetas creadas por los usuar- ios. 37
  • 38. Limitaciones Una de las principales limitaciones del uso de etiquetas es la cobertura. Es bastante frecuente que s´olo los elementos m´as populares sean descritos por m´as de un usuario, creando una descripci´on compacta del mismo, y dejando al margen a los dem´as. Los elementos poco famosos normalmente no tienen suficientes tags como para poderse car- acterizar. Esto dificulta el proceso de recomendaci´on, sobre todo si lo que se intenta es promocionar dichos elementos (Celma[13]) (denominados en ocasiones “elementos en la cola”, por constituir la cola de la funci´on de densidad de elementos etiquetados). Otra dificultad que se presenta es que al no estar limitado a un vocabulario controlado, los tags presentan ciertos inconvenientes, como polisemia (conceptos similares descritos de forma diversa, I like this song, Songs that I like), existencia de sin´onimos (hip-hop, hip.hop, rap), o elementos con dudosa utilidad para la clasificaci´on (seen.live, to-check). Todo ello dificulta a´un m´as la extracci´on de relaciones entre los usuarios y los elementos a recomendar. El uso de los tags en s´ı es otro problema: algunos tags est´an muy extendidos, como rock en el dominio musical, mientras que otros son utilizados raramente (por ejemplo, melodic heavy metal). Esto hace que la distribuci´on de los t´erminos var´ıe y por tanto deban tomarse medidas apropiadas al explotar los datos derivados de los tags, tales como el filtrado de los tags menos importantes o la agrupaci´on de tags similares. 3.3. Sistemas de Recomendaci´on Musical El fin ´ultimo de un sistema de recomendaci´on es elaborar predicciones para un usuario concreto del sistema, utilizando para ello los perfiles de los dem´as usuarios existentes. Las recomendaciones consisten en informaci´on que se considera que puede ser de su inter´es, y que no hubiera sido capaz de obtener por s´ı mismo de forma sencilla. La informaci´on utilizada para la decisi´on de qu´e contenido recomendar puede haber sido obtenida de forma impl´ıcita registrando las acciones del usuario o expl´ıcitamente solicit´andole que eval´ue su inter´es por un cierto contenido. En la actualidad, debido al aumento de la informaci´on existente sobre los intereses de los usuarios, los sistemas de re- comendaci´on est´an presenten en muchas comunidades online, bien para la recomendaci´on de compras (Amazon), contenidos multimedia (Netflix) o gustos musicales (Last.fm). 3.3.1. El problema de la recomendaci´on En general, podemos describir el problema de la recomendaci´on de contenidos a los usuarios como la b´usqueda del conjunto ´optimo de elementos que un usuario desea en- contrar disponiendo de un intervalo de tiempo limitado, de forma que no es posible la evaluaci´on sistem´atica de todos ellos. En la actualidad, los sistemas de recomendaci´on m´as avanzados han sido desarrollados con ´exito para la industria del entretenimiento, como pel´ıculas, m´usica o libros (Herlocker et al.[32]). 38
  • 39. Podemos dividir el problema de la recomendaci´on en dos subproblemas diferentes: el primero es un problema de predicci´on, relacionado con la estimaci´on del grado de aceptaci´on de un ´ıtem por parte de un usuario en concreto. Por otra parte, el segundo problema es recomendar una lista de N elementos a un usuario suponiendo que el sistema es capaz de predecir el grado de aceptaci´on de nuevos elementos. Ambos comparten la necesidad de obtener dicha estimaci´on. Una vez que el sistema puede estimar elementos de un conjunto, el problema de la recomendaci´on se limita a ordenar los elementos y escoger los N primeros con mayor valor de precisi´on. Formalmente podemos describir el problema de la predicci´on de la siguiente manera: sea U = {u1, u2, . . . un} el conjunto de todos los usuarios, e I = {i1, i2, . . . in} el conjunto de todos los posibles items a recomendar. Cada usuario tiene una lista de Iui items, que representa los items sobre los que el usuario ha mostrado inter´es (puede ocurrir que Iui = ∅). La funci´on Pua,ij es la aceptaci´on predicha del item ij para el usuario elegido ua, siendo ij /∈ Iui . El problema de la recomendaci´on se reduce a proporcionar una lista de N elemen- tos, Ir ⊂ I, que agraden al usuario (por ejemplo, aquellos con mayor valor Pua,ij ). Idealmente la lista de recomendaciones no deber´ıa contener elementos que sean del inter´es del usuario, es decir, Ir ∩ Iui = ∅. El conjunto resultante de elementos recomendados puede ser muy grande, al igual que el conjunto de usuarios U. En la gran mayor´ıa de sistemas de recomendaci´on la funci´on de predicci´on se representa mediante una puntuaci´on que puede ser un n´umero real (entre 0 y 1), un valor en un rango concreto (por ejemplo entre 1 y 6), o un valor binario (normalmente aceptaci´on/rechazo). Existen diversos m´etodos para resolver el problema de la recomendaci´on, algunos de los cuales describimos en el siguiente apartado. 3.3.2. M´etodos de recomendaci´on musical La construcci´on de un sistema de recomendaci´on debe afrontar diversos retos; entre ellos, el manejo de la base de datos a utilizar, ya que se hace necesario utilizar gran cantidad de datos para poder realizar predicciones precisas, as´ı como describir qu´e atributos describen mejor a los usuarios teniendo en cuenta los objetivos planteados. Hay que tener en cuenta que aunque el sistema sea capaz de realizar predicciones, ´estas s´olo se pueden proporcionar bas´andose en estad´ısticas obtenidas del conjunto de datos, lo que hace necesario disponer de datos de calidad que reflejen diversos escenarios y tipos de usuarios. En el caso concreto de los sistemas de recomendaci´on en redes sociales centradas en contenidos musicales (Last.FM por ejemplo) la recomendaci´on autom´atica de m´usica se convierte en una herramienta muy importante para descubrir nueva m´usica que encaje con los gustos de un usuario. A continuaci´on describimos algunas de las t´ecnicas m´as utilizadas para la construcci´on de sistemas de recomendaci´on musical. Cada una de ellas se centra en una parte concreta de la informaci´on disponible. 39
  • 40. Filtrado demogr´afico El filtrado demogr´afico puede ser utilizado para identificar el tipo de usuarios que poten- cialmente valoran cierto´ıtem. Por ejemplo, se puede esperar descubrir qu´e tipo de persona prefiere un cierto artista. Esta t´ecnica clasifica los perfiles de usuario en grupos de acuer- do a ciertos criterios extra´ıdos de los datos personales de los usuarios (edad, estado civil, sexo, etc.), datos geogr´aficos (ciudad, pa´ıs), o psicolo´gicos (intereses, hobbies, etc.). El principal inconveniente es que proporciona resultados muy generales; adem´as de que en muchas ocasiones se trabaja con informaci´on incompleta de los usuarios, ya que ´estos no siempre proporcionan datos demogr´aficos, bien porque el sistema no lo permite, o bien porque ellos mismos no permiten que se pueda consultar dicha informaci´on. Filtrado Colaborativo El filtrado colaborativo (CF) predice preferencias de los usuarios sobre los ´ıtems estu- diando las relaciones usuario-items pasadas. Es decir, el usuario proporciona informaci´on al sistema de forma que ´este puede predecir en funci´on de la evaluaci´on que han hecho otros usuarios del item. Los m´etodos de filtrado colaborativo se basan en la construcci´on de una matriz de preferencias de usuarios de forma que cada fila representa el perfil de un usuario, y las columnas los elementos a recomendar. El elemento Rui ,ij es la valoraci´on del usuario ui para el elemento ij . Dentro del filtrado colaborativo podemos distinguir dos grandes grupos: Vecindad entre usuarios (User-based neighbourhood): los valores predichos del ´ıtem i, para predecir Ru,i se obtienen a partir de las medias de valores para el mismo´ıtem i de los usuarios similares a u. Esta aproximaci´on tambi´en recibe el nombre de filtrado colaborativo basado en usuar- ios. El algoritmo toma como entrada el conjunto de usuarios potencialmente sim- ilares, una forma de medir dicha similitud (por ejemplo, la distancia eucl´ıdea), y el n´umero k de usuarios a tomar en consideraci´on. Generalmente con estos datos se utiliza un algoritmo de clustering, como k-medias, para asignar el usuario a un grupo y a partir del mismo obtener los mencionados k vecinos. Vecindad entre ´ıtems (item-based neighbourhood): aplica la misma idea que el an- terior m´etodo pero en lugar de utilizar usuarios recurre a los ´ıtems que el usuario ha valorado anteriormente para decidir si un determinado ´ıtem i debe ser recomendado o no al usuario. Los sistemas de recomendaci´on autom´atica suelen utilizar t´ecnicas de filtrado colabora- tivo para recomendar m´usica bas´andose en los gustos musicales de otros usuarios. Aunque generan buenas recomendaciones plantean algunos inconvenientes, como el denominado problema del arranque en fr´ıo: es necesario cierto volumen de informaci´on antes de generar 40
  • 41. recomendaciones, por lo que para un nuevo artista o un artista poco conocido, un sistema basado en CF no puede generar recomendaciones. Otro problema es la falta de trans- parencia en las recomendaciones (Herlocker et al.[31]), ya que dichos sistemas no pueden justificar una recomendaci´on mas all´a de “personas que escuchan X tambi´en escuchan Y”. Filtrado basado en el contexto Podemos definir contexto como cualquier informaci´on que pueda ser utilizada para caracterizar la situaci´on de una entidad. El filtrado basado en el contexto (Context-based filtering, CB), utiliza informaci´on contextual para definir y caracterizar los ´ıtems. De entre las numerosas t´ecnicas existentes destacamos dos de gran actualidad: web- mining y el etiquetado social. Las t´ecnicas de webmining intentan descubrir informaci´on ´util a partir del an´alisis de las p´aginas web as´ı como del uso de las mismas. Abarca el an´alisis del texto y contenido multimedia en general (web content mining), el estudio de c´omo se relacionan entre s´ı las p´aginas webs a trav´es de enlaces y conforman topolog´ıas web (web structure mining), y la forma en que se utilizan las webs mediante el an´alisis de los archivos de conexiones (logs) que permiten descubrir h´abitos y preferencias de los usuarios (web usage mining). Por otra parte el llamado etiquetado social (social tagging) se basa en que el contenido web sea etiquetado mediante tags que aporten informaci´on contextual adicional. Por ejem- plo, tomemos la recomendaci´on de m´usica basada en la similitud de los tags utilizados para describir los recursos musicales. Dado que estos tags son asignados libremente por los usuarios observando un conjunto relativamente grande de tags, utilizados por miles de usuarios, aparece una visi´on del artista o canci´on mucho m´as global y descriptiva, no solamente en la dimensi´on musical sino tambi´en en otras de tipo cultural y social. La Figura 3.1 muestra los 12 tags m´as utilizados para describir a la banda “Coldplay” en la red social Last.FM. Tag Freq Tag Freq Tag Freq Rock 4911 Indie 2121 Electronica 160 Alternative 4016 Seen Live 940 Mellow 158 Pop 3147 Favourite 278 Punk 155 British 2659 Chillout 269 UK 79 Cuadro 3.1: 12 tags m´as utilizados para Coldplay Podemos observar como los usuarios han utilizado tags referentes al g´enero musical (Pop, Rock, etc.) junto con tags sobre el estado de ´animo (mellow (relajante, chillout), preferencias (favourite, seen.live), o pa´ıs (UK). Con este conjunto de tags y sus frecuen- cias obtenemos una visi´on mucho m´as completa sobre Coldplay que con un sistema de clasificaci´on musical tradicional: “una banda de estilo pop-rock”. La asignaci´on individual 41
  • 42. de tags por parte de cada usuario ha llevado a la obtenci´on de informaci´on de m´as alto nivel sin necesidad de una gu´ıa previa (como ser´ıa un conjunto de tags predefinidos). 3.3.3. Recomendaci´on musical basada en dimensiones Los sistemas de recomendaci´on musical basados en el contexto, como ya se ha comen- tado anteriormente, recurren al uso de tags asignados libremente por parte de los usuarios. Esto presenta la ventaja de proporcionar una poderosa herramienta con la que nutrir con metainformaci´on sem´antica los contenidos; sin embargo, presenta los inconvenientes de polisemia y redundancia citados en la secci´on anterior. En los sistemas de recomendaci´on musical generalmente los usuarios tienen asignados una serie de artistas favoritos, bien porque lo han indicado expl´ıcitamente o porque el sistema lo ha deducido de las listas de audiciones del usuario. Estos artistas tienen a su vez una serie de tags asociados, y para cada uno de ellos el sistema mantiene el n´umero de artistas a los que referencia, ya que un mismo tag puede ser utilizado para etiquetar m´ultiples artistas. Figura 3.1: Proceso de elaboraci´on de las dimensiones de los usuarios Si se relacionan los usuarios con sus artistas preferidos, y ´estos ´ultimos con sus tags asociados, podemos obtener para cada usuario una lista no ya simplemente de sus tags, sino del conjunto de todos los tags utilizados para los artistas que tiene asociados. El conjunto de todos estos tags para un usuario en concreto nos proporciona metainformaci´on del usuario en cuesti´on. Definimos la dimensi´on musical de un artista como un n´umero entero, resultado del agrupamiento de los tags, y que tiene en cuenta tanto el n´umero de tags agrupados como el n´umero de referencias de dichos tags sobre el artista. A continuaci´on, detallamos el proceso para la elaboraci´on de las dimensiones musicales de un artista, reflejado en la Figura 3.1: 1. Tomamos T como el total de tags del conjunto de datos, t1 . . . tn ∈ T, y r1 . . . rn el n´umero de veces que es utilizado el tag en el sistema. 2. Sea M un m´etodo de agrupaci´on de forma que se obtengan m1 . . . mm clusters de tags agrupados por un cierto criterio. Idealmente m << n. 42
  • 43. 3. las dimensiones d1 . . . dm se construyen de la siguiente manera: di = k 1 rk , siendo k el total de tags en cada agrupamiento (dimensi´on). Es decir, cada una de las dimensiones se calcula a partir del total de tags que contiene y el n´umero de veces que cada tag es referenciado. El m´etodo de agrupamiento M no est´a definido y puede variar seg´un las necesidades del problema. Conviene escoger uno que agrupe los tags convenientemente, ya que de la calidad del agrupamiento depender´a la calidad del resultado de los m´etodos que se utilicen posteriormente. El c´alculo de las dimensiones puede aplicarse tanto a artistas como a usuarios: artistas: las dimensiones de un artista se obtienen directamente a partir de los tags como hemos visto anteriormente. usuarios: la dimensi´on i de un usuario (di ) se calcula a partir de las hom´onimas dimensiones de los k artistas escuchados por el usuario: di = k 1(audsk ∗akdi ) , siendo audsk el n´umero de veces que ha escuchado al artista ak , y akdi el valor de la dimensi´on i del mismo. Es decir, una vez que tenemos las dimensiones de los artistas, las dimensiones de un usuario pueden ser obtenidas f´acilmente en funci´on de los artistas que escucha y el n´umero de veces que lo ha hecho. El uso de las dimensiones facilita el manejo de la informaci´on y puede servir como base para posteriores pruebas de clasificaci´on o elaboraci´on de perfiles. El valor de las dimensiones ser´an n´umeros enteros, por lo que dependiendo del m´etodo que se desee aplicar puede ser conveniente transformarlas (por ejemplo normaliz´andolas en el intervalo 0-1). Finalmente hay que destacar que el c´alculo de las dimensiones no aporta nueva infor- maci´on m´as all´a de la calidad de la informaci´on introducida en el etiquetado de tags; por ejemplo, agrupar tags similares entre s´ı ayuda a mitigar los efectos de la polisemia y las etiquetas redundantes siempre que ´estas aparezcan juntas frecuentemente y por lo tanto el m´etodo de agrupamiento M haya sido capaz de agruparlas en el mismo cluster. 43
  • 44. Cap´ıtulo 4 El caso de Last.FM En este cap´ıtulo llevamos a cabo el estudio de un conjunto de datos extra´ıdos de una red social de amplia difusi´on en Internet como es Last.FM 1 . Last.FM es una red social especializada en m´usica que adem´as proporciona servicios de radio online y de recomendaci´on autom´atica bas´andose en los datos env´ıados por los usuarios registrados. En la radio de cada usuario se pueden seleccionar las canciones seg´un preferencias personales, y el sistema es capaz de sugerir al usuario otras nuevas bas´andose en sus reproducciones anteriores y las de usuarios con perfiles similares. Los artistas, adem´as de informaci´on sobre su trayectoria, tambi´en tienen asignadas una lista de tags, elaborada por un sistema autom´atico (Audioscrobbler) en funci´on del total de tags asignados por los usuarios a dicho artista. Un tag no es m´as que una etiqueta, que proporciona informaci´on adicional sobre el artista (por ejemplo, g´enero musical, idioma, pa´ıs de origen, entre otros). 4.1. Obtenci´on de datos Para obtener el conjunto final de datos se unificaron previamente dos conjuntos de datos obtenidos de forma independiente en intervalos de tiempo distintos. conjunto LastFM-ArtistTags2007 2 : obtenido en el a˜no 2007, contiene principal- mente informaci´on sobre artistas musicales y sus tags asociados; contiene datos de 20000 artistas. El hecho de que sea del a˜no 2007 no influye significativamente (salvo por el hecho de que no contiene los artistas m´as actuales), ya que la informaci´on asociada a ´estos no sufre grandes cambios a lo largo del tiempo en el sistema de Last.FM. En este documento nos referiremos a este conjunto como lm-artistas. conjunto LastFM-360k 3 : obtenido en el a˜no 2008, proporciona informaci´on sobre aproximadamente 360000 usuarios y sus artistas favoritos en Last.FM. Nos referire- mos a este conjunto como lm-usuarios. La fusi´on de los dos conjuntos fue posible gracias a que la informaci´on referente a los artistas existente en ambos inclu´ıa el identificador utilizado en la base de datos MusicBrainz 1 http://www.last.fm 2 http://musicmachinery.com/2010/11/10/lastfm-artisttags2007/ 3 http://www.dtic.upf.edu/ ocelma/MusicRecommendationDataset/lastfm-360K.html 44
  • 45. 4 , una base de datos online de libre acceso y amplia difusi´on que contiene informaci´on sobre artistas y sus obras. El identificador utilizado en este sistema (MBID) es un´ıvoco para cada artista, por lo que puede utilizarse como clave en un conjunto de datos. Esto hace que sea frecuentemente utilizado por la comunidad investigadora cuando se manejan conjuntos de datos que involucran artistas musicales, ya que se tiene la certeza de que los identificadores son ´unicos. 4.2. Datos iniciales Last.FM, como muchas otras comunidades online, proporciona acceso libre a la informa- ci´on contenida en sus sistemas a trav´es de un servicio de API (Application Programming Interface) que define un protocolo de comunicaciones, de forma que la informaci´on almace- nada en la red social puede ser consultada de forma automatizada mediante herramientas inform´aticas. Si bien es cierto que se establece una cuota de acceso m´aximo por hora, nada impide consultar y guardar dicha informaci´on. Esto permite construir conjuntos de datos person- alizados, almacenando la informaci´on que se considere de inter´es, siempre y cuando su uso est´e aceptado dentro de lo estipulado en los T´erminos de Uso 5 . La Tabla 4.8 proporciona una descripci´on de los datos contenidos en el conjunto de datos lm-artistas. Nombre Descripci´on Tipo MBrainz MBID String Nombre Nombre del artista String Tag tag asociado al artista String Ocurrencias n´umero de veces asociado al tag Entero Cuadro 4.1: Conjunto de datos lm-artistas Para cada artista se indica el tag asociado, y tambi´en el n´umero de veces que ha sido asociado a dicho tag (ocurrencias). A continuaci´on, la Tabla 4.2 proporciona informaci´on sobre los datos contenidos en el segundo conjunto de datos, lm-usuarios. 4 http://www.musicbrainz.org 5 http://www.last.fm/api/tos 45
  • 46. Nombre Descripci´on Tipo ID identificador ´unico del usuario string Sexo sexo del usuario string Edad edad del usuario number Pa´ıs c´odigo del pais del usuario number Fecha fecha de alta en el sistema date Artistas artistas del usuario List<String> Escuchado n´umero de veces escucha artista List<number> Cuadro 4.2: Conjunto de datos lm-usuarios Algunos atributos como el sexo, la edad o el pa´ıs pueden ser datos faltantes ya que proporcionarlos o no depende de la voluntad del usuario. Otros como la fecha de alta en el sistema, los artistas escuchados por el usuario, y el n´umero de veces que lo ha hecho son datos generados por el sistema por lo que no presentan observaciones faltantes. El volumen de los datos contenidos en los dos conjuntos de prueba originales, antes de preprocesarlos para prepararlos al estudio, es el siguiente. Para lm-artistas: Nombre N´umero Artistas 20907 Tags 100784 (´unicos) Cuadro 4.3: Volumen de datos en lm-usuarios Para el conjunto lm-usuarios: Nombre N´umero Artistas con MBID 186642 Artists sin MBID 107000 Usuarios 359347 Relaciones usuario-artista 17559530 Cuadro 4.4: Volumen de datos en lm-artistas 4.3. Preprocesamiento Una vez obtenidos los conjuntos de datos, el siguiente paso es prepararlos para el an´ali- sis. Esta fase de preprocesamiento abarca desde fases m´as sencillas como la eliminaci´on de observaciones incompletas, pasando por la eliminaci´on de duplicidades, hasta tareas mas complejas como la correcta estructuraci´on de los datos y su organizaci´on de forma coherente. 46
  • 47. A continuaci´on describimos los pasos seguidos para preprocesar los conjuntos de datos. En el caso que nos ocupa esta tarea ha sido bastante intensiva ya que ha sido necesario unir los dos conjuntos iniciales, que ya de por s´ı eran bastante amplios, y prestar especial atenci´on a la integridad de los datos resultantes, especialmente a los identificadores de artistas y a la unicidad de los tags. El preprocesamiento realizado puede dividirse en dos fases: una inicial donde nos hemos centrado en lograr la uni´on de ambos conjuntos de datos asegurando que los datos son consistentes, y una segunda fase donde se han modificado las variables atendiendo a su naturaleza (ordinal, escalar o nominal), para adecuar los datos a los an´alisis que se realicen posteriormente. La primera parte, fusi´on de ambos conjuntos de datos, ha inclu´ıdo las siguientes tareas: 1. Eliminaci´on de todos los artistas de lm-artistas carentes de un identificador MBrainz (ya que sin dicho valor no pueden ser relacionados con los datos del conjunto lm- usuarios). 2. Reducci´on del conjunto de tags prestando atenci´on a cu´ales aportan m´as informaci´on y cu´ales no son significativos. En el conjunto lm-artistas se observa que el tag m´as utilizado es ’rock’, con 440854 referencias, mientras que el menos referenciado es el tag ’003’ con una ´unica referencia. La gran mayor´ıa de los tags contienen una ´unica referencia (el 60 %). Se decide eliminar los tags que tengan menos de 1000 referencias, es decir que no etiqueten al menos al 5 % de los artistas de lm-artistas. Esto reduce los tags disponibles a 464 (un 1 % del total inicial). 3. Siguiendo con el estudio de los tags en lm-artistas, analizamos los 464 obtenidos y los agrupamos ya que muchos son en la pr´actica hom´onimos (como por ejemplo color y colour) o denotan el mismo estilo musical pero con expresiones diferentes (por ejemplo, ’rock’ y ’Rock’, ’classic-rock’ y ’classical-rock’). Esto nos deja finalmente con 188 tags ´unicos. 4. Eliminamos de lm-artistas nuevamente todos los artistas que no contengan ninguno de los tags restantes del apartado anterior, lo que nos deja finalmente 12148 artistas (un 60 % de los iniciales). 5. Con el conjunto de artistas ya definido, procedemos a procesar el conjunto de usuar- ios en lm-usuarios. Comenzamos eliminando todos los gustos (referencias de artistas para un usuario) que hagan referencia a artistas que no existan en el nuevo conjun- to lm-artistas creado anteriormente; esto nos deja con el 26 % de las referencias usuario-artista existentes en el conjunto inicial. 6. Filtramos nuevamente lm-usuarios suprimiendo los usuario que, como resultado del paso anterior, ya no referencien a ning´un artista de lm-artistas (obtenemos 178513 usuarios, aproximadamente el 50 % de los usuarios iniciales). 7. Eliminamos los pa´ıses que no est´an referenciados en el conjunto lm-usuarios. 47
  • 48. 8. Finalmente, por motivos de rendimiento y capacidad de c´alculo tomamos un sub- conjunto de lm-usuarios. En concreto, seleccionamos los primeros 50.000 usuarios con m´as artistas etiquetados, lo que constituir´a nuestro conjunto definitivo de datos a estudiar. Llegados a este punto, ambos conjuntos de datos pueden ser unidos bajo una ´unica estructura de datos tomando como clave de cada artista el identificador MBID de Mu- sicBrainz. A continuaci´on, detallamos los pasos realizados en la segunda fase del preprocesamiento, centrada en la adecuaci´on del conjunto de datos: 1. Se a˜nade un identificador num´erico a todas las observaciones para facilitar su ma- nipulaci´on. 2. Para cada artista se a˜nade un vector de 188 variables num´ericas (una por cada tag): v1 . . . v188; vi = n´umero de veces que el tag aparece asociado al artista. El vector num´erico tambi´en puede ser visto como un indicador binario de si el artista se asocia con cierto tag (un valor mayor que cero) o no (cero). 3. El atributo Edad se recodifica como una variable categ´orica que toma los siguientes valores: C´odigo Edad 0 [ <=25 ] 1 [26-40] 2 [ > 40) Cuadro 4.5: Recodificaci´on del atributo Edad 4. El atributo Pa´ıs se recodifica como una variable categ´orica. Se agrupan los 238 pa´ıses iniciales en 9 regiones geogr´aficas. Debido al gran n´umero de usuarios en Europa, se decidi´o dividir ´esta en tres subregiones adicionales. Regi´on Europa Occidental Europa del Este Norte de Europa Norteam´erica Sudam´erica Australia ´Africa Oriente Medio Asia Cuadro 4.6: Recodificaci´on del atributo Pais en regiones geogr´aficas 48
  • 49. 4.4. Descripci´on del modelo de datos En esta secci´on proporcionamos una descripci´on del modelo de datos que utilizaremos para representar la informaci´on contenida en el conjunto de datos definitivo, ahora que ya ha sido preprocesado y est´a listo para el an´alisis inicial. Tambi´en haremos un recorrido por cada una de las partes del modelo analizando descriptivamente los datos para ayudar a determinar los posteriores an´alisis estad´ısticos a realizar. La Figura 4.1 muestra la estructura l´ogica del modelo de datos, (que coincide con la estructura f´ısica, ya que los datos se encuentran divididos en varios ficheros independientes de forma an´aloga). Los recuadros delimitan datos provenientes de cada uno de los conjuntos de datos iniciales (lm-artistas y lm-usuario). Figura 4.1: Modelo L´ogico A continuaci´on damos una descripci´on de los datos contenidos en cada parte del modelo, detallando el n´umero resultante de observaciones, el tipo de dato y su naturaleza (ordinal, escalar o nominal). Constituyen el conjunto de datos que se utilizar´a para el estudio, ahora que ya est´a preparado para ser analizado. 49
  • 50. Nombre Descripci´on Tipo Observaciones Tag ID identificador escalar 188 Nombre etiqueta descriptiva nominal 188 Artist ID identificador escalar 12148Nombre nombre del artista nominal T1 . . . T188 tags entero(0,n) User ID identificador escalar 50000 Sexo sexo del usuario categ´orica Edad edad en a˜nos del usuario categ´orica Registro fecha registro sistema escalar Pa´ıs pa´ıs del usuario categ´orica Gustos no veces escucha un artista List<ID,entero> 1782312 Cuadro 4.7: Estructura de datos resultante 4.4.1. An´alisis descriptivo de los datos de tags y artistas Comenzamos estudiando los datos relativos a artistas y sus tags asociados. En la Figura 4.2 se observan las frecuencias de aparici´on de los tags en el conjunto de datos as´ı como el n´umero de tags por artista. Figura 4.2: (1) Frecuencia de cada tag por su ID. (2) N´umero de tags para cada artista 50
  • 51. En la primera figura se aprecia el ordenamiento realizado inicialmente de los tags aten- diendo a su frecuencia, lo que explica la curva. Los picos que aparecen corresponden a aquellos tags que han sido utilizados para aglutinar tags m´as minoritarios, como se ha descrito anteriormente en el Preprocesamiento (4.3) 4.4.2. Usuarios factor(1) count 1 0 10000 20000 30000 factor(sex) 0 1 2 Figura 4.3: Frecuencia de la variable Sexo A continuaci´on realizamos un an´alisis de- scriptivo de las variables relacionadas con los usuarios. En la Figura 4.3 se muestra la frecuencia del atributo Sexo entre los usuarios recogi- dos en el conjunto de datos. Como puede apreciarse se tiene informaci´on del sexo del aproximadamente 34 % de las observa- ciones, no habi´endose especificado para los restantes usuarios (correspondiente al valor 0). Es un resultado no demasiado sorpren- dente si tenemos en cuenta que especificar este tipo de informaci´on en la comunidad LastFM no es un requerimiento para hacer uso de sus servicios. La Figura 4.4 proporciona la distribuci´on del atributo Edad del conjunto de datos (datos originales, sin categorizar). edad frecuencia 0 2000 4000 6000 8000 10000 12000 0 20 40 60 80 Figura 4.4: Distribuci´on de la variable edad La primera columna corresponde con los datos faltantes en Last.FM sobre la edad de los usuarios, aproximadamente el 20 % de los usuarios. Al igual que sucede con el atributo Sexo, no es obligatorio proporcionar la edad para hacer uso del sistema, por lo que muchos usuarios no lo hacen. Observando los datos existentes pode- mos ver que la inmensa mayor´ıa de los usuarios del sistema se concentran en la franja de edad comprendida entre los 15 y los 30 a˜nos, poblaci´on m´as propen- sa a la utilizaci´on de redes sociales, re- duci´endose r´apidamente al aumentar dicha edad. 51
  • 52. La siguiente variable demogr´afica a estudiar del conjunto de datos es la referente al pa´ıs del usuario. Al igual que las anteriores, la inserci´on de dicha informaci´on es opcional. Sin embargo en este caso, muchas veces los usuarios la indican ya que se suele utilizar como factor en los sistemas de recomendaci´on musicales para sugerir nuevos temas. Debido al preprocesado inicial, nuestros datos no contienen datos faltantes sobre el pa´ıs de los usuarios. La Figura 4.6 muestra la frecuencia de los 30 primeros paises atendiendo a la pertenencia de los usuarios. Estos 30 paises representan aproximadamente el 80 % de los usuarios totales de nuestro conjunto de datos, siendo el 20 % restante perteneciente a los otros 209 paises. Se observa la predominancia de pa´ıses de habla anglosajona, junto a Alemania, pa´ıs donde se fund´o originalmente Last.FM. frecuencia paises Australia Austria Belgium Brazil Bulgaria Canada Chile Czech−Republic Finland Germany Greece Guatemala Iran−Islamic−Republic−of Italy Japan Korea−Republic−of Mexico Netherlands Norway Poland Portugal Russian−Federation Slovakia South−Africa Spain Sweden Thailand Ukraine United−Kingdom United−States q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q 0 2000 4000 6000 8000 Figura 4.5: Frecuencias del atributo Pa´ıs. Se muestran los 30 primeros pa´ıses con m´as usuarios. 52
  • 53. La siguiente figura muestra el resultado al observar las frecuencias de las regiones del atributo Pa´ıs, pero esta vez categorizando dicha variable en las 9 regiones descritas anteriormente en la fase de Preprocesamiento. region count 0 5000 10000 15000 africa asia austr eastE northA northE orient southA westE Figura 4.6: Frecuencias por categor´ıas del atributo Pa´ıs Se observa claramente la predominancia de los pa´ıses europeos m´as occidentales, segui- dos por Norteam´erica y Asia. La ´ultima variable demogr´afica que queda por estudiar del conjunto de datos es la fecha de registro, entendida como la fecha en la que el usuario se di´o de alta en Last.FM. Dado que esta informaci´on es generada y almacenada autom´aticamente por el sistema, no tiene el car´acter opcional de las anteriores (que pueden ser incluso falseadas por los propios usuarios), y no presenta datos faltantes. La Figura 4.7 muestra la distribuci´on de las fechas de alta de los usuarios del conjunto de datos; coincide bastante con la evoluci´on hist´orica de Last.FM a´un trat´andose de una muestra reducida de sus usuarios. Puede observarse una tendencia alcista que se inicia a finales de 2004, fecha en que comienza a conocerse la red social, fundada en 2002. 53
  • 54. Figura 4.7: Distribuci´on de la variable logins de los usuarios recogidos en el conjunto de datos. Un segundo periodo de crecimiento se observa a finales de 2007, coincidiendo con el anuncio de la adquisici´on de Last.FM por parte de ViaCom 6 . Posteriormente se observa una reducci´on en el n´umero de altas a principios de 2009, tras el anuncio de que LastFM comenzaba a cobrar en algunos pa´ıses por su servicio (lo que llev´o incluso al incremento del n´umero de bajas de usuario) 7 . Como resultado de la uni´on de los dos conjuntos de datos se dispuso de un nuevo atributo a estudiar, Gustos, de pares usuario-artista que indican el n´umero de veces que un usuario ha inclu´ıdo a un cierto artista en su lista de reproducci´on. Se trata de un atributo generado autom´aticamente por el sistema por lo que no existen datos faltantes ni existe la posibilidad de falsearlos. La Figura 4.8 muestra el histograma de las reproducciones de los usuarios del conjunto de datos. 6 http://mashable.com/2007/04/27/lastfm-viacom/ 7 http://news.bbc.co.uk/2/hi/technology/7963812.stm 54
  • 55. audiciones frecuencia 0e+00 1e+05 2e+05 3e+05 4e+05 5e+05 0 500 1000 1500 2000 Figura 4.8: Distribuci´on de la variable hits de los usuarios del con- junto de datos. Se puede observar que tiene un marcado car´acter asim´etrico, de- scendente a medida que aumenta el n´umero de hits. La media se sit´ua en aprox- imadamante 235 audiciones, mien- tras que el valor mediana se ubica en 103 audiciones. 4.5. Obtenci´on de las dimensiones de los artistas En esta secci´on realizaremos un an´alisis del conjunto de datos con mayor profundidad para intentar descubrir si existen relaciones entre las distintas variables que nos permitan extraer conclusiones m´as all´a de los resultados descriptivos b´asicos que hemos descrito en el apartado anterior. Debido a la gran cantidad de datos que se pueden extraer de las redes sociales, entre otros objetivos nos planteamos agrupar las distintas variables mediante t´ecnicas como las descritas en el Cap´ıtulo 2. En primer lugar intentaremos reducir la dimensionalidad de las variables tags en el conjunto de datos lm-artistas, teniendo como fin ´ultimo clasificar los artistas del mismo. Posteriormente, intentaremos clasificar a los usuarios en funci´on de sus gustos sobre dichos artistas. 4.5.1. Reducci´on de la dimensionalidad en el conjunto lm-artistas Si analizamos la estructura del conjunto de datos del que disponemos vemos que los tags ocupan un lugar de relevancia ya que son los elementos clave que aportan significado al conjunto. Adem´as en ellos reside la informaci´on sem´antica sobre los tipos de artistas a partir de la cual se puede llegar a estudiar a los propios usuarios. 55
  • 56. An´alisis clustering Comenzamos nuestro estudio analizando diferentes m´etodos de agrupamiento, o clus- tering, buscando la forma de reducir la dimensionalidad de los 188 tags existentes con el objetivo de construir las dimensiones que hemos expuesto en el cap´ıtulo anterior. En primer lugar hemos intentado un agrupamiento mediante el algoritmo PAM (descrito en el Cap´ıtulo 2). La Figura 4.9 muestra los diferentes valores del coeficiente silhouette al variar el par´ametro k (n´umero de clusters) del m´etodo PAM. El mejor resultado se obtiene para k igual a 2, con un coeficiente igual a 0.45, que si bien no es muy bueno, si indica la existencia de cierta tendencia al agrupamiento. nº clusters coef.silhouette 0.0 0.1 0.2 0.3 0.4 q q q q q q q q q 2 4 6 8 10 Figura 4.9: Evoluci´on del coef. Silhouette al aplicar PAM sobre el cjto de tags Si observamos el gr´afico Silhouette de la Figura 4.10, para k igual a 2, vemos que la explicaci´on es que el algoritmo ha agrupado en un cluster 7 tags, que coinciden con los m´as utilizados, y en otro grupo los restantes 180 tags. 56
  • 57. Silhouette width si 0.0 0.2 0.4 0.6 0.8 1.0 Silhouette PAM sobre tags Average silhouette width : 0.45 n = 187 2 clusters Cj j : nj | avei∈Cj si 1 : 8 | 0.16 2 : 179 | 0.47 Figura 4.10: Silhouette de PAM(k=2) sobre los tags La calidad del agrupamiento por lo tanto es d´ebil; adem´as estamos interesados en divisiones m´as profundas de los tags que permitan agrupar con mayor flexibilidad, por lo que seguimos analizando los datos mediante otros m´etodos. An´alisis PCA El fin ´ultimo del agrupamiento de tags que buscamos es reducir la dimensionalidad de los datos; esto nos lleva a recurrir a una conocida t´ecnica utilizada para este tipo de tareas como es el an´alisis de componentes principales (PCA), descrito en el Cap´ıtulo 2. Como paso previo realizamos el test KMO (Kaiser-Meyer-Olkin), que nos propor- cionar´a una estimaci´on del ajuste de nuestros datos a un an´alisis PCA. El resultado (0.428) nos indica que en principio nuestros datos no se adaptan bien a un an´alisis de este tipo ya que deber´ıa ser superior a 0.5. Aplicamos PCA sobre el conjunto de datos lm-artistas con una rotaci´on varimax para facilitar la interpretaci´on de los datos. La siguiente Figura muestra el gr´afico de scores obtenido al aplicar PCA sobre el conjunto de tags. 57
  • 58. Figura 4.11: Gr´afico de scores PCA del conjunto de tags Observamos que se aprecian algunos tags muy cercanos, como los relacionados con heavy-metal, o rock y seen.live. Sin embargo, los dem´as forman una nube de puntos sin una direccionalidad clara. Adem´as la primera componente explica un 18 % de la variabililidad total, mientras que la segunda llega a un 5 %. Necesitar´ıamos escoger un gran n´umero de componentes para llegar a explicar la variabilidad suficiente. La Figura 4.12 muestra la evoluci´on de la variabilidad explicada por los primeros 7 componentes del PCA. 58
  • 59. componente variabilidad 0.05 0.10 0.15 q q q q q q q 1 2 3 4 5 6 7 Figura 4.12: Variabilidad explicada en el PCA por cada componente Mejorar la variabilidad explicada implicar´ıa tomar en consideraci´on un gran n´umero de componentes (los 7 primeros llegan a un 37 %), lo que dificultar´a la interpretaci´on de los mismos, impidiendo determinar claramente las agrupaciones de los tags, principal objetivo de esta parte del an´alisis. Estos resultados coinciden con lo observado inicialmente al obtener un valor KMO inferior a lo aconsejable, por lo que continuamos el estudio aplicando otros m´etodos. Clustering jer´arquico La interpretaci´on de los resultados es una condici´on fundamental para poder entender c´omo se agrupan los tags. Intuitivamente esperamos que una cierta cantidad (reducida) de tags clasifiquen los principales estilos musicales, y que a partir de ellos se deriven otros subestilos musicales etiquetados mediante otros tags m´as minoritarios. Esta b´usqueda de estructura nos lleva a recurrir al clustering jer´arquico de los tags. De entre las diferentes configuraciones posibles optamos por el modelo aglomerativo, haciendo uso de la distancia eucl´ıdea y del m´etodo de Ward para el c´alculo de la distancia entre observaciones y clusters, respectivamente, siendo ´esta una combinaci´on muy utilizada en miner´ıa de datos. Los resultados se adjuntan en la siguiente Tabla 4.13. 59
  • 60. Figura 4.13: Clustering jer´arquico de los tags 60
  • 61. Puede observarse que como resultado del clustering se obtienen varios agrupamientos, distingui´endose claramente algunos, como por ejemplo la agrupaci´on de todos los tags vinculados con metal, o los referentes a m´usica instrumental (donde se agrupan juntos tags como instrumental, jazz, chillout) por ejemplo. A la hora de determinar el n´umero de clusters buscamos un compromiso entre gen- eralizaci´on y flexibilidad, teniendo en cuenta que el n´umero de agrupamientos debe ser lo suficientemente descriptivo como para que sea ´util posteriormente para los m´etodos que aplicaremos. Analizando los clusters resultantes y aplicando nuestro conocimiento del problema (observando similitudes entre los tags) definimos 18 agrupamientos, que hemos identificado seg´un el tag m´as representativo de cada uno (en el B se adjunta una descripci´on detallada de cada agrupamiento): metal experimental relax latin club celtic rock hardcore pop electronica indie new.wave hip.hop singer.songwriter letra classical instrumental dance Cuadro 4.8: Dimensiones de los artistas, obtenidas a partir del clustering jer´arquico de los tags Este agrupamiento nos servir´a a continuaci´on para elaborar las dimensiones de los artistas, que nos permitir´an en ´ultima instancia calcular las dimensiones de los usuarios del conjunto de datos. 4.6. Clustering de artistas y definici´on de perfiles Debido a la gran cantidad de datos sobre gustos contenidos en la base de datos nos centramos en el agrupamiento de los primeros 100 artistas m´as populares. Como variables, para el agrupamiento utilizamos las 18 dimensiones de los artistas, apoy´andonos en los resultados de la secci´on anterior. Como resultado obtenemos el siguiente gr´afico silhouette fruto del agrupamiento en 6 grupos de los 100 artistas m´as populares: 61
  • 62. Silhouette width si 0.0 0.2 0.4 0.6 0.8 1.0 Agrupamiento de los 100 artistas mas comunes Average silhouette width : 0.54 n = 100 6 clusters Cj j : nj | avei∈Cj si 1 : 17 | 0.40 2 : 22 | 0.55 3 : 27 | 0.73 4 : 17 | 0.48 5 : 8 | 0.52 6 : 9 | 0.33 Figura 4.14: Silhouette del agrupamiento de los 100 artistas m´as referenciados Se observa que el resultado de las agrupaciones es aceptable (con un valor silhouette global de 0.54) a excepci´on de la ´ultima (cluster 6) que presenta un ´ındice silhouette m´as bajo (0.33). El agrupamiento resultante plantea la duda del perfil de los artistas pertenecientes a cada cluster, es decir, qu´e caracter´ısticas son comunes en los artistas de un determinado cluster. Una forma de obtener m´as informaci´on es utilizar los tags asociados a cada artista para obtener reglas de asociaci´on entre los tags que nos permitan conocer mejor los clusters obtenidos. Si utilizamos el algoritmo apriori de forma individual sobre los tags de los artistas de cada conjunto obtenemos una lista de posibles reglas, ordenadas decrecientemente por su valor de lift asociado. A continuaci´on se muestran las reglas m´as significativas que han sido extra´ıdas de cada cluster; hemos obtenido las reglas con un valor de support igual a 0.7 y confidence de 0.9. El valor de lift obtenido para todas ellas es de 1.4. 62
  • 63. Cluster 1 (Classic-rock) {electronica, indie, favorites} ⇒ classic.rock {classic.rock, electronica } ⇒ pop Cluster 2 (Grunge) {electronica, emo, progressive} ⇒ grunge {emo, female.vocalist, electronica } ⇒ progressive Cluster 3 (Pop-rock) {alternative, pop} ⇒ rock {alternative, seen.live } ⇒ pop {pop, rock } ⇒ alternative Cluster 4 (Electr´onica) {electronica, emo, seen.live, female.vocalist} ⇒ indie {emo, pop, jazz } ⇒ electronica {pop, rock } ⇒ seen.live Cluster 5 (Hip-hop) {electronica, pop, trip.hop} ⇒ hip.hop {alternative, hip.hop } ⇒ trip.hop {electronica, favourite, indie, trip.hop } ⇒ alternative Cluster 6 (Metal) {classic.rock, gothic.metal, industrial, thrash.metal} ⇒ metal {indie, industrial, metal } ⇒ gothic.metal {gothic.metal, indie } ⇒ thrash.metal Cuadro 4.9: Reglas de asociaci´on de los tags en cada cluster Analizando las reglas obtenidas se puede obtener un perfil de los artistas en cada cluster, lo que puede corroborarse intuitivamente analizando el nombre de los mismos. As´ı, en el primer cluster se agrupan los artistas de estilo classic.rock (donde aparecen por ejemplo Michael Jackson y U2), estilo grunge y pop-rock en el 2 y 3, mientras que el estilo caracter´ıstico de los restantes clusters son electr´onica, hip-hop y metal, respectivamente. 4.7. Predicci´on del n´umero de escuchas 4.7.1. Elaboraci´on de las dimensiones de los usuarios En nuestro conjunto de datos tenemos informaci´on sobre cada usuario y sus artistas relacionados. Si tomamos las 18 dimensiones de cada artista que hemos utilizado anteri- ormente, para cada usuario podemos construir las mismas 18 dimensiones a partir de sus artistas asociados, obteniendo as´ı informaci´on sobre los gustos de los usuarios. Una vez que tenemos las dimensiones de los usuarios elaboramos un tercer conjunto de datos, a partir de los conjuntos existentes lm-artistas y lm-usuarios, denominado lm- gustos, con la siguiente estructura: 63
  • 64. Nombre Descripci´on Tipo usuario id del usuario String artista id del artista String Du1. . . Du18 dimensiones del usuario Lista<Number> Da1. . . Da18 dimensiones del artista Lista<Number> auds n´umero audiciones totales usuario Number artistauds n´umero reproducciones totales artista Number cluster cluster en el que se clasifica el artista Number veces audiciones del artista por el usuario Number Cuadro 4.10: Conjunto de datos lm-gustos 4.7.2. Modelo Predictor Un valor de utilidad que interesa obtener de un usuario es el n´umero esperado de escuchas de un cierto artista. Con esta informaci´on, un sistema de recomendaci´on musical puede determinar el potencial grado de aceptaci´on del artista por parte del usuario a trav´es de una estimaci´on. Definimos el porcentaje de escuchas de un usuario U sobre un artista A como: P.EA/U = escuchasdeUporpartedeA totalescuchasA Vamos a construir un modelo predictivo de la variable PE para cada usuario del conjunto lm-usuarios. Para ello recurrimos al uso de las redes neuronales. Planteamos un modelo de red neuronal backpropagation, con las siguientes variables: variable respuesta : el porcentaje de escuchas del usuario sobre el artista. variables explicativas de usuario : las dimensiones musicales del usuario (18), as´ı como el n´umero total de audiciones del usuario. variables explicativas de artista : las dimensiones musicales del artista en cuesti´on (18) a predecir, el n´umero total de audiciones del artista y el cluster al que ha sido asociado en el agrupamiento de artistas, detallado en la secci´on anterior. En el C adjuntamos la tabla de correlaciones entre las variables explicativas anteriores. Vemos que existen algunas correlaciones por encima de 0.7. Como era de esperar, las correlaciones existentes son entre las variables de usuario por un lado y las de los artistas por otro. Tomando en cuenta los 100 primeros artistas m´as populares, los gustos de los usuarios en el conjunto lm-gustos nos arrojan un subconjunto de pruebas de alrededor de 400000 registros. 64
  • 65. Para el estudio dividimos los datos en tres subconjuntos de entrenamiento, validaci´on y testeo, con el 60 %, 10 % y el 30 % de los datos respectivamente, con el fin de utilizar el primero en la fase de entrenamiento de la red neuronal, el segundo para estudiar diferentes configuraciones de entrenamiento y el tercero en la fase final de testeo de los resultados. Debido al gran tama˜no del conjunto de entrenamiento establecemos una m´aximo de 2000 iteraciones. Una vez establecidas las variables de entrada y respuesta, los par´ametros a fijar son: n´umero de neuronas en la capa oculta: dependiendo de cu´antas neuronas utilicemos en la capa oculta la red neuronal presentar´a diferentes caracter´ısticas. Un n´umero suficientemente grande proporcionar´a mayor flexibilidad a la red para predecir valores pero puede provocar sobreentrenamiento (la red se adapta en exceso a los datos utilizados en la fase de entrenamiento). cambio en los pesos de las conexiones entre neuronas (decay): el factor en que se modifican los pesos cuando se busca minimizar el error durante el entrenamiento. Este valor incide tambi´en la flexibilidad de la red. Como medidas del error recurrimos a dos f´ormulas habituales en la literatura: el error RMSE y el error MAPE. El error RMSE es una medida frecuentemente utilizada para medir las diferencias entre los valores predichos por un modelo (estimador), y los valores reales observados (estimados). El error RMSE se define como: RMSE = (obs−pred)2 n El error MAPE (porcentaje de error medio absoluto) da una idea m´as intuitiva del error cometido, proporcionando un valor facilmente comprensible entre 0 y 1 que refleja el porcentaje de error. La f´ormula utilizada para MAPE es la siguiente: MAPE = 1 n ∗ n t=1 obs−pred obs Para decidir qu´e configuraci´on de red neuronal utilizar realizamos un banco de pruebas con diferentes valores para el n´umero de neuronas en la capa oculta y diversos valores de decay; el error de validaci´on que utilizaremos es el error MAPE de la red sobre el conjunto de validaci´on tras la fase inicial de entrenamiento. La Tabla 4.11 muestra los diferentes valores utilizados: Neuronas en la capa oculta 10 11 12 13 14 15 16 17 18 19 20 Decay 5e-2 5e-3 5e-4 5e-5 Cuadro 4.11: Valores utilizados para los par´ametros de la red neuronal 65
  • 66. La Figura 4.15 muestra los resultados para los valores anteriores. Debido a la diferencia de magnitud de los valores de decay el eje X se muestra en escala logar´ıtmica. decay %errorenvalidacion 0.40 0.42 0.44 0.46 0.48 −5 −4 −3 −2 −1 0 1 factor(n) 10 11 12 13 14 15 16 17 18 19 20 Figura 4.15: Errores de validaci´on MAPE para diferentes par´ametros de la red neuronal. Observando la gr´afica decidimos escoger una red neuronal con una capa oculta formada por 18 neuronas ocultas y un valor de decay igual a 5e-4, por ser esta la configuraci´on que proporciona el menor error de validaci´on; las neuronas de la capa de entrada se corresponden con las variables explicativas de usuario y artista (39), y en la capa de salida existe una ´unica neurona, correspondiente a la variable respuesta, tal y como se detalla en la Figura 4.16. Figura 4.16: Esquema de la red neuronal utilizada para predecir no de escuchas de un artista 66
  • 67. Los resultados obtenidos se muestran en la siguiente tabla, expresados tanto en RMSE como en MAPE para el conjunto de entrenamiento y testeo: Entrenamiento Testeo RMSE 0.1251 0.1486 MAPE 0.3452 0.3697 Cuadro 4.12: Errores obtenidos tras construir la red neuronal El resultado de la evaluaci´on sobre el conjunto de testeo indica que nuestro modelo aproxima con bastante (aproximadamente en un 63 % de las ocasiones). 4.8. Predicci´on del inter´es del usuario De forma similar al apartado anterior, un dato que tambi´en interesa predecir es si un usuario estar´ıa interesado o no en un determinado artista, principalmente en aquellos que a´un no ha escuchado. Desde el punto de vista de los sistemas de recomendaci´on esta informaci´on permite sugerir nuevos artistas, desconocidos para el usuario bas´andose en informaci´on sobre los gustos actuales del mismo, en lugar de proponer un artista al azar, proporcionando as´ı may- or calidad a la recomendaci´on. Un primer objetivo es definir la variables respuesta “Inter´es en un artista”. Para ello cambiamos la variable anteriormente utilizada “n´umero de audiciones del artista”, y a partir de su distribuci´on determinamos un valor umbral para asignar el inter´es del usuario (si/no). Como primer paso es necesario determinar cu´ando un usuario est´a interesado en un artista. Podemos considerar que el inter´es de un usuario en un artista se refleja en el n´umero de veces que lo ha escuchado. Por lo tanto, tomamos como valor frontera el n´umero de audiciones de un artista que divide su distribuci´on en dos partes igualmente probables, el valor mediana. Como ejemplo ilustrativo tomemos la Figura 4.17, que muestra las audiciones para el artista Pink Floyd: 67
  • 68. Número de audiciones de Pink Floyd audiciones usuarios 0 200 400 600 800 1000 1200 0 200 400 600 800 1000 1200 factor(class) 10610 Figura 4.17: Distribuci´on de las audiciones para Pink Floyd Adem´as de las audiciones, se se˜nala en verde el valor mediana de la distribuci´on; para este artista est´a situado en 145 audiciones. La Figura 4.18 muestra la distribuci´on del n´umero de audiciones para los 100 artistas m´as escuchados. Se observa que la distribuci´on para todos los artistas es muy similar, incluso cuando entre el artista m´as escuchado, the beatles, en el primer lugar, y el ´ultimo, regina.spektor, en el puesto 100, existen diferencias de popularidad bastante notables (10570 y 2232 audiciones respectivamente). 68
  • 69. 100 artistas mas populares audiciones usuarios 0 500 1000 1500 2000 0 200 400 600 800 1000 1200 Figura 4.18: Distribuci´on de las audiciones para los 100 artistas m´as populares La Figura 4.19 muestra la distribuci´on de las medianas para los 100 artistas m´as pop- ulares. Los valores de la misma est´an bastante delimitados entre 100 y 150 audiciones, regi´on donde se encuentran la mayor´ıa de las medianas. 100 artistas mas populares valor mediana numeroartistas 0 1 2 3 4 5 6 50 100 150 200 Figura 4.19: Distribuci´on del valor mediana para las medianas de los 100 artistas m´as populares 69
  • 70. Por lo tanto, utilizamos la mediana como valor discriminante para generar una nueva variable respuesta para los gustos de cada usuario, un indicador que refleja si a un usuario un artista que ha escuchado le gusta o no. Con esta nueva variable, podemos plantear un modelo de predicci´on que nos proporcione una forma de estimar la aceptaci´on de un nuevo artista por parte de un usuario que a´un no lo haya escuchado. En esta ocasi´on utilizaremos el clasificador Random Forest, por ser tradicionalmente bueno en tareas de clasificaci´on. Planteamos nuevamente un conjunto de entrenamiento y testeo a partir de los datos originales utilizando el 60 % de las observaciones para el primero y el 40 % restante para el segundo. Las variables utilizadas son: variable respuesta : valor l´ogico 0/1 indicando que al usuario no gusta/gusta el artista. variables explicativas de usuario : las dimensiones musicales del usuario (18), as´ı como el n´umero total de audiciones del mismo. variables explicativas del artista : las dimensiones musicales del artista en cuesti´on (18), el n´umero total de audiciones del artista y el cluster en el que ha sido clasificado el artista. Establecemos para el modelo random forest planteado que construya 400 ´arboles de decisi´on distintos, valor superior al m´ınimo recomendado, 100 ´arboles. Este m´ınimo es el requerido para alcanzar la suficiente variabilidad en los datos de entrada al construir dichos ´arboles. Una vez finalizada la fase de entrenamiento, el modelo random forest nos proporciona los resultados de la validaci´on sobre el conjunto de entrenamiento (ya que realiza un submuestreo del mismo y para cada ´arbol deja muestras sin utilizar con este prop´osito). Los resultados de dicha validaci´on se muestran en la siguiente matriz de confusi´on: Real Predicho No Gusta Gusta Total Error de Clasificaci´on No Gusta 8827 2517 11344 78 % 22 % 22 % Gusta 2110 10020 12130 17 % 83 % 17 % Total 19.41 % Cuadro 4.13: Matriz de confusi´on de random forest sobre el conjunto de datos de entrenamiento De los resultados se desprende que el error medio es del 19.41 %, bastante bajo. A continuaci´on, procedemos a validar el modelo random forest obtenido sobre el conjunto de testeo, obteni´endose la matriz de confusi´on reflejada en la Tabla 4.14. 70
  • 71. Real Predicho No Gusta Gusta Total Error de Clasificaci´on No Gusta 5830 2883 8713 67 % 33 % 33 % Gusta 2510 4540 7050 35 % 65 % 35 % Total 33.8 % Cuadro 4.14: Matriz de confusi´on de random forest sobre el conjunto de datos de testeo Si calculamos el error sobre el conjunto total de testeo obtenemos un acierto promedio aproximadamente del 66 %, por lo que el modelo puede utilizarse para predecir el inter´es del usuario. A continuaci´on adjuntamos la tabla de importancia de variables obtenida como salida del modelo random forest, donde podemos observar qu´e variables han contribu´ıdo en mayor medida a construir el modelo. Esto puede verse analizando el ´ındice Gini, que en nuestro caso indica qu´e variables contribuyen en mayor medida a reducir el error medio de clasificaci´on. La primera variable que destaca es el n´umero de escuchas del usuario, ya que es la que m´as ayuda a reducir el error de predicci´on. A continuaci´on destacan las variables asociadas a las dimensiones del usuario (cuyo identificador comienza por user.*),que tienen mayor valor de importancia que las dimensiones del artista, en tercer lugar. Finalmente se puede observar que las variables que contribuyen en menor medida son art.celtic y art.latin, influenciadas por el hecho de que tienen menor presencia en los conjuntos de datos. 71
  • 72. Value MeanDecreaseGini user.auds 381.02678812202 user.club 271.051380764771 user.hip.hop 247.877381761386 user.experimental 244.907093524387 user.latin 241.883535948827 user.dance 240.865098330647 user.letra 240.792237792454 user.electronica 239.402507543564 user.rock 238.479538158041 user.new.wave 237.244795177601 user.pop 236.514344259245 user.hardcore 231.775937190805 user.relax 230.644818691032 user.instrumental 229.699681935491 user.classical 229.003613281837 user.punk 228.488146367587 user.celtic 228.132043388318 user.singer.songwriter 226.917936744555 user.metal 226.227180847446 art.punk 191.746230702326 art.letra 190.294529044121 art.hip.hop 186.976396013188 art.pop 185.591885437628 artist.listeners 182.837960958842 art.new.wave 180.603987093008 art.instrumental 179.429362924117 art.singer 178.789505573955 art.classical 177.347384461508 art.electronica 176.448493262272 art.dance 175.462424742522 art.rock 175.222219196703 art.metal 167.047490463964 art.hardcore 142.468698130127 art.club 120.205008835523 art.experimental 104.535887741420 art.relax 84.7320104607924 cluster 70.7339378031676 art.latin 58.9263263174385 art.celtic 26.0349598136337 Cuadro 4.15: Resultados de la validaci´on de random forest 72
  • 73. Cap´ıtulo 5 Conclusiones y Trabajo Futuro En este documento hemos visto c´omo es posible aplicar las t´ecnicas de miner´ıa de datos tradicionales a un entorno de actualidad y creciente importancia comercial como es el ´ambito de las redes sociales con resultados satisfactorios. A lo largo del caso de estudio nos hemos encontrado con algunas diferencias respecto a la forma en que se ha llevado el an´alisis. Para empezar, la fase de preprocesamiento de datos ha adquirido mayor importancia ya que se ha necesitado invertir m´as tiempo de lo esperado en la adecuaci´on de los datos, comprensible si tenemos en cuenta que los conjuntos de datos se obtienen de fuentes externas, y no siempre est´an estructurados para una explotaci´on directa con fines comerciales. Por otra parte, en lo que inversi´on econ´omica se refiere, queda de manifiesto la alta rentabilidad de este tipo de estudios ya que los datos necesarios han sido obtenidos a coste cero, y cualquier conclusi´on que pueda obtenerse de los mismos es de por s´ı ventajosa. Desde el punto de vista de la elaboraci´on de sistemas de recomendaci´on musical, hemos visto c´omo un sistema de este tipo puede beneficiarse de las t´ecnicas estad´ısticas para mejorar su eficiencia. La metodolog´ıa que hemos propuesto, basada en la agrupaci´on de tags y la posterior elaboraci´on de las dimensiones, permite abordar la complejidad inherente a los sistemas de recomendaci´on basados en el contexto, donde debe establecerse una estrategia para saber explotar la informaci´on contenida en la gran cantidad de tags proporcionados por los usuarios. La informaci´on contenida en las dimensiones nos ha permitido clasificar a los princi- pales artistas del conjunto de datos, as´ı como crear modelos de predicci´on para mejorar la precisi´on de las recomendaciones a los usuarios. Las herramientas estad´ısticas utilizadas han ido desde modelos tradicionales como el an´alisis cluster y las redes neuronales has- ta m´etodos m´as modernos como random forest, lo que demuestra la idoneidad de las t´ecnicas estad´ısticas para mejorar la calidad de los sistemas de recomendaci´on, indepen- dientemente del ´ambito en el que se encuentren, incluyendo los que prestan servicio de forma interactiva y m´as din´amica en redes sociales como puede ser Last.FM. Trabajos futuros pasan por la inclusi´on de este tipo de sistemas dentro de las her- ramientas cotidianas utilizadas en el campo del marketing y la investigaci´on de mercados. Los an´alisis que hemos llevado a cabo podr´ıan perfectamente realizarse en tiempo real 73
  • 74. utilizando como fuente de datos informaci´on obtenida directamente de los servicios API a trav´es de la Red. Herramientas como el lenguaje R permiten disponer de recursos estad´ısticos a un coste muy bajo, pudiendo incluso desarrollarse soluciones a medida de los requisitos planteados. Por otra parte, la potencial informaci´on contenida en comunidades como Last.FM es enorme; en este documento solamente hemos analizado la superficie del ingente abanico de posibilidades que proponen. Por ejemplo, aspectos como el an´alisis de los tags y su agrupaci´on pueden ser tratados con mayor profundidad para adecuarse a problemas m´as espec´ıficos, a˜nadir la informaci´on referente a la dimensi´on social de los usuarios (cu´antos contactos tiene, qu´e dice en sus mensajes) podr´ıan complementar los estudios realizados en este documento. Finalmente, tambi´en podr´ıan aplicarse herramientas de visualizaci´on para observar la estructura de los datos que sugieran nuevos enfoques. 74
  • 75. Bibliograf´ıa [1] Trevor Hastie, Robert Tibshirani and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition. Springer. Febrero 2009. [2] Paolo Giudici. Applied Data Mining: Statistical Methods for Business and Industry . Wiley, 2003. [3] David J. Ketchen, Jr & Christopher L. Shook. The application of cluster analysis in Strategic Management Research: An analysis and critique. Strategic Management Journal 17 (6): 441 - 458. 1996. [4] Robert L. Thorndike. Who Belong in the Family?. Psychometrika 18, Septiembre 1953. [5] Peter J. Rousseeuw. Silhouettes: a graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics 20, 53-65. 1987. [6] Pang-Ning Tan, Michael Steinbach and Vipin Kumar. Introduction to Data Mining. Addison-Wesley, 2006. [7] L. Breiman. Random forests Machine Learning, 45, 5-32, 2001. [8] D. T. Phama, S. S. Dimov, and C. D. Nguyen. Selection of K in K-means clustering. Cardiff University, UK, 2004. [9] Hartigan, J. A. and Wong, M. A. Algorithm AS 136: A K-Means Clustering Algorithm. Journal of the Royal Statistical Society, Series C. (Applied Statistics) 28 (1): 100- 108, 1979. [10] Leonard Kaufman and Peter J. Rousseeuw. Clustering by means of medoids, 1987. [11] Leonard Kaufman and Peter J. Rousseeuw. Finding Groups in Data: An Introduction to Cluster Analysis. Wiley Series in Probability and Statistics, Mayo 2005. [12] Diego Costa. Exploring last.fm community music listening habits for automatic artist recommendation. Faculdade de Engenharia da Universidade do Porto. Porto, Portu- gal. [13] Oscar Celma Herrada. Music Recommendation and discovery in the long tail. Uni- versidad Pompeu Fabra, Barcelona, 2008. 75
  • 76. [14] Debbie Richards and Phillip Higgins. Mining Social Network Analysis Data. ACIS 2001 Proceedings. Paper 79, 2001. [15] Qihong Liu, Changjie Tang, Shaojie Qiao, Qiwei Liu and Fenlian Wen. Mining the Core Member of Terrorist Crime Group Based on Social Network Analysis. School of Computer, Sichuan University, China, 2007. [16] John M. Kleinberg. Challenges in mining social network data: processes, privacy, and paradoxes. Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining, Cornell University, 2007. [17] COPLINK center: social network analysis and identity deception detection for law enforcement and homeland security intelligence and security informatics: a crime data mining approach to developing border safe research. Proceedings of the 2006 international conference on Digital government research, New York, NY, USA, 2006. [18] Douglas Eck. Automatic Generation of Social Tags for Music Recommendation. Sun Microsystems, 2007. [19] Robert Jschke, Leandro Marinho, Andreas Hotho, Lars Schmidt Thieme and Gerd Stumme. Tag Recommendations in Folksonomies. Proceeding PKDD 2007 Proceed- ings of the 11th European conference on Principles and Practice of Knowledge Dis- covery in Databases, 2007. [20] Ya-Xi Chen, Sebastian Boring, Andreas Butz. How Last.fm Illustrates the Musical World. Workshop on Visual Interfaces to the Social and SExploring last.fm com- munity music listening habits for automatic artist recommendation emantic Web (VISSW2010), 2010. [21] Gregorio Ignacio L´opez L´opez y Francisco Javier Rodr´ıguez Donado. Sistemas de Recomendaci´on Musical. Universidad Carlos III de Madrid, [22] Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi Motoda, Geoffrey J. McLachlan, Angus Ng, Bing Liu, Philip S. Yu, Zhi-Hua Zhou, Michael Steinbach, David J. Hand, Dan Steinberg. Top 10 algorithms in data mining, Springer-Verlag, London Limited, 2007. [23] Pearson, K. On Lines and Planes of Closest Fit to Systems of Points in Space. 1901. [24] I.T. Jolliffe. Principal Component Analysis, Second Edition. Springer Series in Statis- tics, 2002. [25] L. Breiman, JH. Friedman, RA. Olshen and CJ. Stone. Classification and regression trees. Wadsworth, Belmont, 1984. [26] Ward, J. H. Hierarchical grouping to optimize an objective function. Journal of Amer. Statist. Assoc. 58: 236-244, 1963. 76
  • 77. [27] Fayyad, U. M. Data mining and knowledge discovery: making sense out of data. IEEE Expert, Octubre, p´aginas 20-25, 1996. [28] J. Scott. Social Network Analysis: A Handbook, 2nd edition. Sage Publications, 1991. [29] Danah Boyd and Nicole B. Ellison. Social network sites: Definition, history, and schol- arship. Journal of Computer-Mediated Communication, 13(1), 2007. [30] Harry Halpin, Valentin Robu, Hana Shepherd. The Complex Dynamics of Collabo- rative Tagging. Proc. International Conference on World Wide Web, ACM Press, 2007. [31] Jonathan L. Herlocker, Joseph A. Konstan, and John Riedl. Explaining collabora- tive filtering recommendations. In Computer Supported Cooperative Work, 241-250, 2000. [32] Herlocker, J. L., Konstan, J. A., Terveen, L. G., and Riedl, J. T. Evaluating collab- orative filtering recommender systems. ACM Trans. Inf. Syst., 22(1):4-40, 2004. [33] Rosenblatt, Frank. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Cornell Aeronautical Laboratory, Psychological Re- view, v65, No. 6, pp. 386-408, 1958. 77
  • 78. A. Conjunto de tags seen-live rock alternative indie pop punk metal electronica singer-songwriter folk hip-hop classic-rock dance favorites emo jazz hardcore hard-rock ambient experimental 80s rap chillout heavy-metal instrumental industrial new-wave soundtrack 90s soul funk techno death-metal acoustic trance blues trip-hop reggae awesome grunge metalcore thrash-metal ska psychedelic british mellow house love gothic black-metal screamo 00s oldies progressive idm gothic-metal male-vocalists female-vocalist rnb lesser-known doom-metal fun classical downtempo power-metal guitar uk country favourite swedish alt-country grindcore usa synthpop cool stoner-rock latin english comedy check-out canadian fir finnish 70s world post-rock amazing nu-metal music noise gay goth beautiful lounge french dub lo-fi j-rock ebm shoegaze darkwave pra power-pop emocore hardcore-punk vocal symphonic-metal easy-listening pop-rock sexy piano post-hardcore dark christian gothic-rock 60s thrash anime folk-metal industrial-metal disco spanish fusion my-music political drum-and-bass j-pop folk-rock scandinavian acid-jazz emusic ska-punk melodic-metal atmospheric great-lyricists melodic japan funny garage-rock happy heavy beats germany viking-metal alternative-metal relax new-age jrock soft-rock minimal synth sweden avantgarde new-york melodic-hardcore california dislike ethereal norwegian england black relaxing glam-rock celtic dark-ambient twee post-punk urban rockabilly polish irish electroclash australian club prog old-school genius industrial-rock hi-fidelity party brazilian quirky psychedelic-rock check nice-elevator-music Cuadro 5.1: Tags del conjunto de datos 78
  • 79. B. Detalle del clustering jer´arquico de tags Metal industrial germany synthpop gothic ebm darkwave goth gothic.rock heavy.metal death.metal thrash.metal power.metal folk.metal viking.metal symphonic.metal melodic.metal gothic.metal black.metal doom.metal Experimental dark atmospheric ethereal dark.ambient noise avantgarde lesser.known canadian lo.fi shoegaze fir Relax beautiful vocal easy.listening relax relaxing Latin world latin spanish pra piano fusion Club gay sexy dub french synthk beats minimal electroclash indietronica drum.and.bass disco club party check Celtic new.age celtic irish Rock hi.fidelity nice.elevator.music power.pop emusic folk.rock great.lyricists garage.rock glam.rock england post.punk happy genius twee quirky soft.rock california alt.rock urban new.york old.school melodic prog psychedelic.rock rockability norwegian black melancholic australian polish brazilian Hardcore metalcore screamo emocore post.hardcore nu.metal finnish industrial.metal industrial.rock heavy alternative.metal grindcore thrash hardcore.punk melodic.hardcore political ska.punk 79
  • 80. Pop seen.live pop indie rock alternative Electronica electronica favourite Indie metal progressive punk emo hardcore classic.rock hard.rock grunge Hip.Hop hip.hop rap New.wave soundtrack the90s british the80s new.wave Singer.songwriter favorites usa female.vocalist singer.songwriter folk Letra awesome love acoustic mellow reggae ska dislike fun stoner.rock comedy funny cool amazing christian music uk english the00s pop.rock my.music Classical funk soul rnb male.vocalist blues guitar country alt.country psychedelic classical oldies the70s the60s Instrumental instrumental post.rock ambient experimental jazz chillout trip.hop idm downtempo lounge acid.jazz Dance dance trance techno house 80
  • 81. C. Correlaciones user.auds dim.metal dim.experimental dim.relax dim.latin dim.club user.auds 1 0.51 0.56 0.62 0.36 0.65 dim.metal 0.51 1 0.24 0.11 0.07 0.3 dim.experimental 0.56 0.24 1 0.51 0.23 0.36 dim.relax 0.62 0.11 0.51 1 0.54 0.46 dim.latin 0.36 0.07 0.23 0.54 1 0.3 dim.club 0.65 0.3 0.36 0.46 0.3 1 dim.celtic 0.29 0.24 0.12 0.29 0.17 0.17 dim.rock 0.6 0.22 0.45 0.38 0.19 0.42 dim.hardcore 0.57 0.69 0.22 0.14 0.07 0.35 dim.pop 0.81 0.39 0.52 0.65 0.29 0.55 dim.electronica 0.68 0.44 0.52 0.57 0.23 0.74 dim.hip.hop 0.49 0.18 0.19 0.28 0.16 0.41 dim.punk 0.75 0.59 0.31 0.31 0.16 0.4 dim.new.wave 0.69 0.34 0.4 0.52 0.26 0.57 dim.singer.songwriter 0.68 0.18 0.6 0.77 0.57 0.45 dim.letra 0.82 0.27 0.51 0.72 0.34 0.51 dim.classical 0.57 0.16 0.33 0.42 0.25 0.35 dim.instrumental 0.53 0.19 0.58 0.66 0.23 0.54 dim.dance 0.57 0.27 0.25 0.37 0.22 0.75 cluster -0.01 0.09 0 0 0 0.01 art.metal 0.03 0.21 -0.02 -0.07 -0.03 0 art.experimental 0.01 -0.01 0.09 0.06 0.01 0.02 art.relax 0 -0.07 0.06 0.15 0.06 0 art.latin 0 -0.03 0.01 0.05 0.08 0 art.club -0.01 0.01 -0.03 -0.04 -0.02 0.07 art.celtic 0 0 -0.01 0.02 0.02 0 art.rock 0.02 -0.02 0.07 0.02 0.01 0.01 art.hardcore 0.03 0.13 -0.03 -0.06 -0.03 0.02 art.pop 0.02 -0.04 0.05 0.09 0.02 0.01 art.electronica -0.01 -0.01 0.04 0.04 0.01 0.09 art.hip.hop -0.01 -0.02 -0.02 -0.02 -0.01 0 art.punk 0.04 0.11 -0.03 -0.06 -0.02 -0.02 art.new.wave 0 -0.03 0.02 0.03 0.01 0.02 art.songwriter 0.01 -0.06 0.07 0.1 0.06 -0.01 art.letra 0 -0.06 0.02 0.08 0.02 -0.02 art.classical 0.01 -0.02 0 0.01 0.02 -0.02 art.instrumental 0 -0.02 0.06 0.08 0.02 0.04 art.dance -0.02 -0.01 -0.02 -0.03 -0.01 0.06 Cuadro 5.2: Correlaciones 81
  • 82. dim.celtic dim.rock dim.hardcore dim.pop dim.electronica dim.hip.hop user.auds 0.29 0.6 0.57 0.81 0.68 0.49 dim.metal 0.24 0.22 0.69 0.39 0.44 0.18 dim.experimental 0.12 0.45 0.22 0.52 0.52 0.19 dim.relax 0.29 0.38 0.14 0.65 0.57 0.28 dim.latin 0.17 0.19 0.07 0.29 0.23 0.16 dim.club 0.17 0.42 0.35 0.55 0.74 0.41 dim.celtic 1 0.15 0.13 0.24 0.2 0.14 dim.rock 0.15 1 0.18 0.63 0.47 0.26 dim.hardcore 0.13 0.18 1 0.48 0.41 0.26 dim.pop 0.24 0.63 0.48 1 0.72 0.46 dim.electronica 0.2 0.47 0.41 0.72 1 0.41 dim.hip.hop 0.14 0.26 0.26 0.46 0.41 1 dim.punk 0.27 0.55 0.66 0.71 0.49 0.4 dim.new.wave 0.28 0.73 0.28 0.82 0.67 0.34 dim.singer.songwriter 0.23 0.52 0.2 0.63 0.49 0.31 dim.letra 0.24 0.61 0.4 0.88 0.62 0.45 dim.classical 0.22 0.66 0.14 0.54 0.39 0.33 dim.instrumental 0.16 0.38 0.19 0.53 0.79 0.28 dim.dance 0.18 0.32 0.3 0.5 0.68 0.52 cluster 0 -0.03 0.02 -0.03 0.03 -0.01 art.metal 0.03 -0.02 0.11 -0.03 -0.01 -0.03 art.experimental -0.01 0.02 -0.02 0.01 0.05 -0.02 art.relax 0 -0.01 -0.06 0.02 0.03 -0.01 art.latin 0 -0.01 -0.03 0 -0.01 -0.01 art.club 0 -0.03 0.02 -0.03 0.04 0.02 art.celtic 0.06 0 -0.01 0 0 -0.01 art.rock -0.01 0.13 -0.06 0.04 0.03 -0.02 art.hardcore 0.01 -0.04 0.16 -0.01 -0.01 0 art.pop 0 0.05 -0.02 0.11 0.05 -0.01 art.electronica 0 0 -0.03 0 0.12 0.01 art.hip.hop 0 -0.02 0 -0.02 -0.01 0.13 art.punk 0.03 0.03 0.1 0.01 -0.02 -0.01 art.new.wave 0.01 0.06 -0.06 0.04 0.03 -0.03 art.songwriter 0 0.03 -0.06 0 0 -0.01 art.letra -0.01 0.02 -0.04 0.04 0.01 0 art.classical 0.01 0.06 -0.05 0.01 -0.01 0 art.instrumental 0 0 -0.04 0 0.09 -0.01 art.dance -0.01 -0.03 -0.01 -0.03 0.04 0.02 82
  • 83. dim.punk dim.new.wave dim.songwriter dim.letra dim.classical dim.instru user.auds 0.75 0.69 0.68 0.82 0.57 0.53 dim.metal 0.59 0.34 0.18 0.27 0.16 0.19 dim.experimental 0.31 0.4 0.6 0.51 0.33 0.58 dim.relax 0.31 0.52 0.77 0.72 0.42 0.66 dim.latin 0.16 0.26 0.57 0.34 0.25 0.23 dim.club 0.4 0.57 0.45 0.51 0.35 0.54 dim.celtic 0.27 0.28 0.23 0.24 0.22 0.16 dim.rock 0.55 0.73 0.52 0.61 0.66 0.38 dim.hardcore 0.66 0.28 0.2 0.4 0.14 0.19 dim.pop 0.71 0.82 0.63 0.88 0.54 0.53 dim.electronica 0.49 0.67 0.49 0.62 0.39 0.79 dim.hip.hop 0.4 0.34 0.31 0.45 0.33 0.28 dim.punk 1 0.56 0.41 0.68 0.6 0.31 dim.new.wave 0.56 1 0.49 0.72 0.58 0.45 dim.singer.songwriter 0.41 0.49 1 0.73 0.57 0.45 dim.letra 0.68 0.72 0.73 1 0.64 0.49 dim.classical 0.6 0.58 0.57 0.64 1 0.34 dim.instru 0.31 0.45 0.45 0.49 0.34 1 dim.dance 0.39 0.44 0.39 0.46 0.32 0.42 cluster -0.01 -0.03 -0.03 -0.05 -0.05 0.05 art.metal 0.08 -0.02 -0.05 -0.06 -0.04 -0.04 art.experimental -0.03 0 0.04 0.01 -0.02 0.11 art.relax -0.06 0 0.08 0.05 -0.01 0.1 art.latin -0.03 -0.01 0.05 0.01 -0.01 0 art.club -0.02 -0.02 -0.04 -0.04 -0.04 0 art.celtic 0 0.02 0 0 0 0 art.rock 0.01 0.09 0.05 0.03 0.09 0.04 art.hardcore 0.08 -0.04 -0.05 -0.03 -0.05 -0.04 art.pop 0 0.09 0.04 0.08 0.01 0.05 art.electronica -0.05 0.02 0 -0.02 -0.03 0.13 art.hip.hop -0.02 -0.02 -0.02 -0.01 -0.01 -0.01 art.punk 0.15 0.01 -0.03 0.01 0.08 -0.04 art.new.wave -0.02 0.1 0.01 0.02 0.02 0.02 art.songwriter -0.04 -0.01 0.13 0.04 0.05 0.04 art.letra -0.01 0.03 0.05 0.08 0.03 0.02 art.classical 0.04 0.03 0.04 0.03 0.15 0 art.instrumental -0.04 0 0.02 0 -0.01 0.17 art.dance -0.04 -0.02 -0.03 -0.04 -0.03 0.01 83
  • 84. dim.dance cluster art.metal art.experimental art.relax art.latin user.auds 0.57 -0.01 0.03 0.01 0 0 dim.metal 0.27 0.09 0.21 -0.01 -0.07 -0.03 dim.experimental 0.25 0 -0.02 0.09 0.06 0.01 dim.relax 0.37 0 -0.07 0.06 0.15 0.05 dim.latin 0.22 0 -0.03 0.01 0.06 0.08 dim.club 0.75 0.01 0 0.02 0 0 dim.celtic 0.18 0 0.03 -0.01 0 0 dim.rock 0.32 -0.03 -0.02 0.02 -0.01 -0.01 dim.hardcore 0.3 0.02 0.11 -0.02 -0.06 -0.03 dim.pop 0.5 -0.03 -0.03 0.01 0.02 0 dim.electronica 0.68 0.03 -0.01 0.05 0.03 -0.01 dim.hip.hop 0.52 -0.01 -0.03 -0.02 -0.01 -0.01 dim.punk 0.39 -0.01 0.08 -0.03 -0.06 -0.03 dim.new.wave 0.44 -0.03 -0.02 0 0 -0.01 dim.singer.songwriter 0.39 -0.03 -0.05 0.04 0.08 0.05 dim.letra 0.46 -0.05 -0.06 0.01 0.05 0.01 dim.classical 0.32 -0.05 -0.04 -0.02 -0.01 -0.01 dim.instrumental 0.42 0.05 -0.04 0.11 0.1 0 dim.dance 1 0.01 0 0 -0.02 -0.01 cluster 0.01 1 0.53 0.08 0.16 0.09 art.metal 0 0.53 1 -0.02 -0.17 -0.06 art.experimental 0 0.08 -0.02 1 0.33 -0.07 art.relax -0.02 0.16 -0.17 0.33 1 0.31 art.latin -0.01 0.09 -0.06 -0.07 0.31 1 art.club 0.09 0.02 0.02 -0.05 -0.13 -0.07 art.celtic 0.01 -0.13 -0.02 -0.04 -0.01 -0.02 art.rock -0.02 -0.2 -0.07 0.08 -0.1 -0.06 art.hardcore 0.01 0.05 0.35 -0.08 -0.15 -0.06 art.pop -0.01 -0.13 -0.18 -0.06 0.22 -0.01 art.electronica 0.08 0.28 0.02 0.15 0.14 -0.06 art.hip.hop 0.02 0.06 -0.07 -0.09 -0.07 -0.03 art.punk -0.02 -0.15 0.23 -0.18 -0.25 -0.12 art.new.wave 0 -0.17 -0.01 -0.07 0.11 0.03 art.songwriter -0.03 0 -0.09 0.15 0.32 0.26 art.letra -0.02 -0.12 -0.18 -0.03 0.41 0.03 art.classical -0.02 -0.14 -0.13 -0.13 -0.1 -0.07 art.instrumental 0.02 0.31 -0.1 0.57 0.54 -0.03 art.dance 0.11 0.07 -0.03 -0.08 -0.1 -0.04 84
  • 85. art.club art.celtic art.rock art.hardcore art.pop art.electronica user.auds -0.01 0 0.02 0.03 0.02 -0.01 dim.metal 0.01 0 -0.02 0.13 -0.04 -0.01 dim.experimental -0.03 -0.01 0.07 -0.03 0.05 0.04 dim.relax -0.04 0.02 0.02 -0.06 0.09 0.04 dim.latin -0.02 0.02 0.01 -0.03 0.02 0.01 dim.club 0.07 0 0.01 0.02 0.01 0.09 dim.celtic 0 0.06 -0.01 0.01 0 0 dim.rock -0.03 0 0.13 -0.04 0.05 0 dim.hardcore 0.02 -0.01 -0.06 0.16 -0.02 -0.03 dim.pop -0.03 0 0.04 -0.01 0.11 0 dim.electronica 0.04 0 0.03 -0.01 0.05 0.12 dim.hip.hop 0.02 -0.01 -0.02 0 -0.01 0.01 dim.punk -0.02 0 0.01 0.08 0 -0.05 dim.new.wave -0.02 0.02 0.09 -0.04 0.09 0.02 dim.singer.songwriter -0.04 0 0.05 -0.05 0.04 0 dim.letra -0.04 0 0.03 -0.03 0.08 -0.02 dim.classical -0.04 0 0.09 -0.05 0.01 -0.03 dim.instrumental 0 0 0.04 -0.04 0.05 0.13 dim.dance 0.09 0.01 -0.02 0.01 -0.01 0.08 cluster 0.02 -0.13 -0.2 0.05 -0.13 0.28 art.metal 0.02 -0.02 -0.07 0.35 -0.18 0.02 art.experimental -0.05 -0.04 0.08 -0.08 -0.06 0.15 art.relax -0.13 -0.01 -0.1 -0.15 0.22 0.14 art.latin -0.07 -0.02 -0.06 -0.06 -0.01 -0.06 art.club 1 -0.04 -0.14 0.21 -0.21 0.52 art.celtic -0.04 1 -0.04 -0.03 0 -0.02 art.rock -0.14 -0.04 1 -0.16 0.12 -0.07 art.hardcore 0.21 -0.03 -0.16 1 -0.09 -0.09 art.pop -0.21 0 0.12 -0.09 1 0.08 art.electronica 0.52 -0.02 -0.07 -0.09 0.08 1 art.hip.hop 0 -0.02 -0.08 -0.02 -0.12 -0.01 art.punk -0.07 -0.03 0.11 0.3 -0.02 -0.19 art.new.wave -0.01 0.02 0.33 -0.19 0.46 0.19 art.singer.songwriter -0.1 -0.04 0.03 -0.1 -0.13 -0.02 art.letra -0.15 0.01 -0.01 -0.15 0.32 -0.03 art.classical -0.14 -0.04 0.25 -0.14 0 -0.09 art.instrumental 0.06 -0.02 -0.05 -0.1 -0.03 0.48 art.dance 0.8 -0.01 -0.11 -0.05 -0.16 0.54 85
  • 86. art.hip.hop art.punk art.new.wave art.singer.songwriter art.letra art.classical user.auds -0.01 0.04 0 0.01 0 0.01 dim.metal -0.02 0.11 -0.03 -0.06 -0.06 -0.02 dim.experimental -0.02 -0.03 0.02 0.07 0.02 0 dim.relax -0.02 -0.06 0.03 0.1 0.08 0.01 dim.latin -0.01 -0.02 0.01 0.06 0.02 0.02 dim.club 0 -0.02 0.02 -0.01 -0.02 -0.02 dim.celtic 0 0.03 0.01 0 -0.01 0.01 dim.rock -0.02 0.03 0.06 0.03 0.02 0.06 dim.hardcore 0 0.1 -0.06 -0.06 -0.04 -0.05 dim.pop -0.02 0.01 0.04 0 0.04 0.01 dim.electronica -0.01 -0.02 0.03 0 0.01 -0.01 dim.hip.hop 0.13 -0.01 -0.03 -0.01 0 0 dim.punk -0.02 0.15 -0.02 -0.04 -0.01 0.04 dim.new.wave -0.02 0.01 0.1 -0.01 0.03 0.03 dim.singer.songwriter -0.02 -0.03 0.01 0.13 0.05 0.04 dim.letra -0.01 0.01 0.02 0.04 0.08 0.03 dim.classical -0.01 0.08 0.02 0.05 0.03 0.15 dim.instrumental -0.01 -0.04 0.02 0.04 0.02 0 dim.dance 0.02 -0.02 0 -0.03 -0.02 -0.02 cluster 0.06 -0.15 -0.17 0 -0.12 -0.14 art.metal -0.07 0.23 -0.01 -0.09 -0.18 -0.13 art.experimental -0.09 -0.18 -0.07 0.15 -0.03 -0.13 art.relax -0.07 -0.25 0.11 0.32 0.41 -0.1 art.latin -0.03 -0.12 0.03 0.26 0.03 -0.07 art.club 0 -0.07 -0.01 -0.1 -0.15 -0.14 art.celtic -0.02 -0.03 0.02 -0.04 0.01 -0.04 art.rock -0.08 0.11 0.33 0.03 -0.01 0.25 art.hardcore -0.02 0.3 -0.19 -0.1 -0.15 -0.14 art.pop -0.12 -0.02 0.46 -0.13 0.32 0 art.electronica -0.01 -0.19 0.19 -0.02 -0.03 -0.09 art.hip.hop 1 -0.1 -0.09 -0.09 -0.07 -0.04 art.punk -0.1 1 -0.05 -0.17 -0.02 0.39 art.new.wave -0.09 -0.05 1 -0.18 0.21 0.11 art.singer.songwriter -0.09 -0.17 -0.18 1 0.15 0.11 art.letra -0.07 -0.02 0.21 0.15 1 0.1 art.classical -0.04 0.39 0.11 0.11 0.1 1 art.instrumental -0.03 -0.16 -0.05 0.01 0 -0.07 art.dance 0 -0.16 -0.06 -0.06 -0.13 -0.09 86
  • 87. art.instrumental art.dance user.auds 0 -0.02 dim.metal -0.02 -0.01 dim.experimental 0.06 -0.02 dim.relax 0.08 -0.03 dim.latin 0.02 -0.01 dim.club 0.04 0.06 dim.celtic 0 -0.01 dim.rock 0 -0.03 dim.hardcore -0.04 -0.01 dim.pop 0 -0.03 dim.electronica 0.09 0.04 dim.hip.hop -0.01 0.02 dim.punk -0.04 -0.04 dim.new.wave 0 -0.02 dim.singer.songwriter 0.02 -0.03 dim.letra 0 -0.04 dim.classical -0.01 -0.03 dim.instrumental 0.17 0.01 dim.dance 0.02 0.11 cluster 0.31 0.07 art.metal -0.1 -0.03 art.experimental 0.57 -0.08 art.relax 0.54 -0.1 art.latin -0.03 -0.04 art.club 0.06 0.8 art.celtic -0.02 -0.01 art.rock -0.05 -0.11 art.hardcore -0.1 -0.05 art.pop -0.03 -0.16 art.electronica 0.48 0.54 art.hip.hop -0.03 0 art.punk -0.16 -0.16 art.new.wave -0.05 -0.06 art.singer.songwriter 0.01 -0.06 art.letra 0 -0.13 art.classical -0.07 -0.09 art.instrumental 1 0.01 art.dance 0.01 1 87