SlideShare une entreprise Scribd logo
1  sur  87
Télécharger pour lire hors ligne
’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
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm
DataMining_lastfm

Contenu connexe

Tendances

Serie aprender a_investigar,_módulo_4_análisis_de_la_información
Serie aprender a_investigar,_módulo_4_análisis_de_la_informaciónSerie aprender a_investigar,_módulo_4_análisis_de_la_información
Serie aprender a_investigar,_módulo_4_análisis_de_la_informaciónSistemadeEstudiosMed
 
Serie aprender a investigar 4
Serie aprender a investigar 4Serie aprender a investigar 4
Serie aprender a investigar 4JCASTINI
 
Serie aprender a investigar 3 ICFES
Serie aprender a investigar 3 ICFESSerie aprender a investigar 3 ICFES
Serie aprender a investigar 3 ICFESJCASTINI
 
Proyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidadProyecto de red para empresa comercializadora de electricidad
Proyecto de red para empresa comercializadora de electricidadSuperior - Universitaria
 
5. el-proyecto-de-investigación-aprender-a-investigar-icfes
5. el-proyecto-de-investigación-aprender-a-investigar-icfes5. el-proyecto-de-investigación-aprender-a-investigar-icfes
5. el-proyecto-de-investigación-aprender-a-investigar-icfesFROILAN ALFONSO SARAVIA CAMA
 
Modulo 3
Modulo 3Modulo 3
Modulo 3gloria
 
Monje carlos arturo guía didáctica metodología de la investigación
Monje carlos arturo   guía didáctica metodología de la investigaciónMonje carlos arturo   guía didáctica metodología de la investigación
Monje carlos arturo guía didáctica metodología de la investigaciónSadymar Quispe
 
Serie aprender a investigar 5
Serie aprender a investigar 5Serie aprender a investigar 5
Serie aprender a investigar 5JCASTINI
 

Tendances (13)

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

En vedette

En vedette (8)

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

Similaire à DataMining_lastfm

Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Andy Juan Sarango Veliz
 
El lenguaje de programación c++
El lenguaje de programación c++El lenguaje de programación c++
El lenguaje de programación c++Darkcame
 
Bases de-datos
Bases de-datosBases de-datos
Bases de-datossabu47
 
Sistema_de_gestion_de_asistencias_de_ase.pdf
Sistema_de_gestion_de_asistencias_de_ase.pdfSistema_de_gestion_de_asistencias_de_ase.pdf
Sistema_de_gestion_de_asistencias_de_ase.pdfasantosz
 
Diseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfDiseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfmaria799431
 
Libro recolectar informacion
Libro  recolectar informacionLibro  recolectar informacion
Libro recolectar informacionmariajulianita
 
Compresión y encriptación
Compresión y encriptaciónCompresión y encriptación
Compresión y encriptaciónmenamigue
 
Algoritmo de filtrado adaptable
Algoritmo de filtrado adaptableAlgoritmo de filtrado adaptable
Algoritmo de filtrado adaptableAlberto Ascona
 
Localización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesLocalización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesHenry Quilla
 
Analysis of MATSim as a tool for the study of urban mobility
Analysis of MATSim as a tool for the study of urban mobilityAnalysis of MATSim as a tool for the study of urban mobility
Analysis of MATSim as a tool for the study of urban mobilityDavid Velasco Garcia
 
Conceptos informáticos generales
Conceptos informáticos generalesConceptos informáticos generales
Conceptos informáticos generalesLeonel Sartori
 
Manual referencia cxx
Manual referencia cxxManual referencia cxx
Manual referencia cxxAbefo
 

Similaire à DataMining_lastfm (20)

Tesis elio
Tesis elioTesis elio
Tesis elio
 
TFM_MJVillanueva
TFM_MJVillanuevaTFM_MJVillanueva
TFM_MJVillanueva
 
Introducción a R - con minería de datos
Introducción a R - con minería de datosIntroducción a R - con minería de datos
Introducción a R - con minería de datos
 
Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++Fundamentos de Programación con Lenguaje de Programación C++
Fundamentos de Programación con Lenguaje de Programación C++
 
El lenguaje de programación c++
El lenguaje de programación c++El lenguaje de programación c++
El lenguaje de programación c++
 
Msc_Thesis
Msc_ThesisMsc_Thesis
Msc_Thesis
 
Bases de-datos
Bases de-datosBases de-datos
Bases de-datos
 
Bases de-datos
Bases de-datosBases de-datos
Bases de-datos
 
Sistema_de_gestion_de_asistencias_de_ase.pdf
Sistema_de_gestion_de_asistencias_de_ase.pdfSistema_de_gestion_de_asistencias_de_ase.pdf
Sistema_de_gestion_de_asistencias_de_ase.pdf
 
Diseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdfDiseños de investigación experimental en psicología.pdf
Diseños de investigación experimental en psicología.pdf
 
Trabajo de investigacion ing de sistemas
Trabajo de investigacion  ing de sistemasTrabajo de investigacion  ing de sistemas
Trabajo de investigacion ing de sistemas
 
Libro recolectar informacion
Libro  recolectar informacionLibro  recolectar informacion
Libro recolectar informacion
 
Compresión y encriptación
Compresión y encriptaciónCompresión y encriptación
Compresión y encriptación
 
Algoritmo de filtrado adaptable
Algoritmo de filtrado adaptableAlgoritmo de filtrado adaptable
Algoritmo de filtrado adaptable
 
Localización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitalesLocalización y decodificación de códigos de barras en imágenes digitales
Localización y decodificación de códigos de barras en imágenes digitales
 
Graficaci ón
Graficaci ónGraficaci ón
Graficaci ón
 
Analysis of MATSim as a tool for the study of urban mobility
Analysis of MATSim as a tool for the study of urban mobilityAnalysis of MATSim as a tool for the study of urban mobility
Analysis of MATSim as a tool for the study of urban mobility
 
Conceptos informáticos generales
Conceptos informáticos generalesConceptos informáticos generales
Conceptos informáticos generales
 
Aspecto caracteristicas
Aspecto caracteristicasAspecto caracteristicas
Aspecto caracteristicas
 
Manual referencia cxx
Manual referencia cxxManual referencia cxx
Manual referencia cxx
 

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