Diego García, joven investigador de a Universidad de Cantabria en proyectos de minería de datos en ambientes de aprendizaje e-learning, repasó los algoritmos de minería de datos y alternativas de software libre para abordar proyectos de Data Mining.
1. Introducción a la Minería de Datos
Diego García Saiz
Grupo de Lenguajes y Sistemas Informáticos
Departamento de Matemáticas, Estadística y Computación
Universidad de Cantabria
2. Estructura de la presentación
• Una pequeña introducción al contexto.
• Qué es Minería de Datos…
– … y qué no es Minería de Datos.
• No sólo se trata de modelar: CRISP-DM.
• Los 3 grandes pilares: ejemplos en el mundo real.
– Agrupación (clustering).
– Reglas de Asociación.
– Predicción: clasificación.
• Herramientas de uso libre: Weka, RapidMiner y Knime.
3. Introducción al contexto
•
Gran cantidad de datos almacenados.
– Por parte de empresas: marketing, hipermercados, servicios, banca,
etc.
– Redes Sociales: Facebook, Twitter, Tuenti, LinkedIn y otras muchas.
– Y en muchos otros ámbitos: educativo (cursos online), institucional
(gobierno), médico, etc.
•
¿Qué hacer con todos esos datos?.
– Podríamos utilizarlos para extraer información relevante con el objeto
de ayudar a la toma de decisiones en el negocio, el gobierno, la
sanidad, la educación, las ventas, etc.
– Para esto tenemos la Minería de Datos.
4. ¿Minería de datos?. Definición formal
• El datamining (minería de datos), es el conjunto de
técnicas y tecnologías que permiten explotar grandes
cantidades de datos, de forma automática o
semiautomática, con el objetivo de encontrar patrones
repetitivos, tendencias o reglas que expliquen el
comportamiento de los datos en un determinado
contexto.
Más simple: La minería de datos es un
proceso consistente en entender y
extraer información relevante para el
desarrollo del negocio, que no podría
extraerse de otra forma.
5. Qué es y qué no es Minería de Datos
• Extracción de los datos de una Base de Datos.
• Preparación de los datos para extraer
información.
• Generación de gráficos estadísticos de los
datos.
• Extracción del conocimiento “oculto” en los
datos.
6. No sólo de extraer patrones viven los
“datamineros”: CRIPS-DM
7. Los 3 grandes pilares
• Reglas de asociación.
• Agrupamiento (clustering).
• Predicción: clasificación.
8. Reglas de asociación
• Conjunto de técnicas que retornan todos los patrones encontrados
en el conjunto de datos que cumplan los parámetros de entrada.
• Usado cuando no se tiene un objetivo específico sobre la
información que se busca.
• Algunos de los algoritmos más conocidos:
• Apriori
• PredictiveApriori
• Tertitus
• Yacaree
9. Reglas de asociación: Ejemplo
• Cesta de la compra (problema típico de marketing y ventas): ¿qué
productos se compran usualmente juntos?.
• El conjunto de datos contiene, por cada compra de un cliente,
que productos adquirió y cual fue el precio final de su compra.
• Ejemplo de productos:
• Comestibles (pan, agua, fruta…)
• Consumibles electrónicos (tóners, baterías…)
• Electrodomésticos (lavadoras, laptops, reproductores…)
• …
10. Reglas de asociación: Ejemplo
• Resultado parcial de aplicar el algoritmo Apriori con una restricción
de las reglas de un 70% en confianza.
• baking needs & biscuits & cheese & fruit & vegetables ==>
bread and cake confianza: 90%
• fruit & potatoes ==> vegetables
confianza: 89%
• milk-cream & beef & vegetables ==> fruit
confianza: 78%
11. Agrupamiento (clustering)
• Conjunto de técnicas de Minería de Datos que determinan y
asignan a los individuos a grupos de similares características.
• Ejemplo: Perfil de los alumnos en un curso online según la actividad
que desarrollan.
• Como datos, tenemos su actividad en el curso medida en:
•
Tiempo dedicado
• Número de sesiones
• Mensajes leídos y escritos en el foro
• Etc.
12. Agrupamiento: Ejemplo
• Resultado de aplicar el algoritmo Kmeans:
Attribute
Nº of students
Age
Gender
Total Time
Number of Sessions
Full Data
(resumen)
67
22
Man
1138
74
Cluster
(Grupo) 1
21
22
Man
1394
94
●
Cluster
(Grupo) 2
31
23
Woman
104
8
Cluster
(Grupo) 3
15
19
Man
2917
180
…
13. Predicción: Clasificación
• Consiste en la clasificación de individuos en una determinada clase
según sus características, para poder inferir predicciones en un
futuro.
• Ejemplos: conocer si…
• … un cliente realizará una hipoteca con el banco.
• … las acciones de una empresa subirán o bajarán en un
momento determinado.
• … un fruto del bosque o una seta es comestible o venenosa.
• … un alumno aprobará o suspenderá una asignatura.
• … un paciente tiene una enfermedad concreta según sus
síntomas y datos personales.
• … una campaña de marketing tendrá éxito.
•
14. Clasificación: Ejemplo 1
• Doctor, ¿tengo hipertiroidismo?
• Conjunto de datos: contiene la información de pacientes
reales con sus síntomas, niveles de hormonas y diagnóstico.
• Resultados (algoritmo Jrip):
(tumor = t) and (T3level >= 2.9) and (TT4level <= 147) => class=goitre
(T3level >= 3.3) and (age >= 54) and (TT4level <= 142) and (age <= 63) and (T4Ulevel >=
0.95) => class=t3toxic
(FTIlevel >= 168) and (T3level >= 3.5) => class=hyperthyroid
…
(FTIlevel >= 209) and (age <= 41) => class=hyperthyroid
=> class=negative
15. Clasificación: Ejemplo 2
• Campaña de marketing telefónico de un banco portugués para
atraer clientes de depósitos
• Conjunto de datos: contiene información personal de los
clientes, incluida información bancaria.
• Estado civil (soltero, casado, viudo)
• Sexo
• Edad
• Mes de la llamada
• Hipotecas del cliente en el banco
• Créditos del cliente en el banco
• Y muchos otros…
16. Clasificación: Ejemplo 2 (2)
• Resultados (algoritmo C4.5)
Duration
> 645
<= 211
> 211 and <=645
Married
NO
Age
> 60
NO
yes
no
…
…
Credit
yes
YES
no
…
17. Herramientas libres
•
Weka
•
•
Multitud de algoritmos.
•
•
Pionera en su género.
http://www.cs.waikato.ac.nz/ml/weka/
RapidMiner
•
•
Hace uso de todos los algoritmos ofrecidos por Weka y de los suyos propios.
•
•
Interfaz Gráfica sencilla de utilizar.
http://rapid-i.com/content/view/181/190/
KNIME
•
Herramienta joven. Interfaz Gráfico de uso sencillo.
•
Implementada como plugin en Eclipse. Fácil de extender con nuevos
algoritmos “ad hoc”.
•
http://www.knime.org/