Notas de Minería de Datos I

La última parte del curso de Paradigmas de Base de Datos estudiamos una pequeña introducción a la Minería de Datos, a decir verdad fue la parte más divertida del curso. Pues bien, para recordar las cosas que aprendí en ese periodo les comparto parte de mis notas.

¿Minería de Datos?

El objeto de la minería de datos es extraer información útil de entre un conjunto de datos. En otras palabras la minería de datos es un conjunto de técnicas (algoritmos) para analizar datos con el fin de crear modelos que informen y permitan:

  • predecir
  • clasificar y
  • agrupar

datos nuevos. La Minería de Datos es útil pues en la búsqueda de patrones y relaciones en bases de datos gigantescas como las data warehouses o incluso en pequeños archivos de texto plano.

Para hacer la cosa más divertida vamos a ver un caso práctico, que no sólo es la mejor forma de aprender, es la única, de hecho. Trabajaremos con un problema clásico de la Minería de Datos. Mira la siguiente tabla:

Outlook Temperature (Fº) Humidity (%) Windy Class
Sunny 75 70 true play
Sunny 80 90 true don’t play
Sunny 85 85 false don’t play
Sunny 72 95 false don’t play
Sunny 69 70 false play
Overcast 72 90 true play
Overcast 83 86 false play
Overcast 64 65 true play
Overcast 81 75 false play
Rainy 71 91 true don’t play
Rainy 65 70 true don’t play
Rainy 75 80 false play
Rainy 68 80 false play
Rainy 70 96 false play

Al conjunto de datos que tenemos arriba le llamaremos dataset. El dataset anterior es un registro de las veces que un golfista decidió “jugar” o “no jugar” de acuerdo al estado del tiempo. Ahora bien, lo que queremos saber es qué decisión tomará el golfista si…

Sunny 74ºF 77% false ?

Las primeras cuatro columnas son conocidas como atributos. Los atributos pueden ser categóricos o numéricos, la columna Outlook es un ejemplo de atributo categórico, en cambio en la columna Humidity tenemos datos numéricos.

A la columna final le llamaremos clase. Cuando un dataset tiene una columna de clase entonces decimos que los datos están etiquetados.

Los datos pueden estar etiquetados o no etiquetados, si se da el primer caso el dataset servirá para entrenar al modelo: le mostrará el valor de los atributos en cada una de las instancias y su respectiva clase; entonces el modelo aprende. Este tipo de datasets son conocidos como training sets, si el modelo aprende de un training set, decimos que es un aprendizaje supervisado. Nos encontramos frente a un problema de clasificación.

Ahora bien, si los datos no están etiquetados, el modelo aprende de forma no supervisada, ahora tenemos un problema de agrupamiento donde el resultado del modelo será la división de cada instancia en grupos con patrones afines.

Árboles de decisión

Pues bien, es aquí donde entran los árboles de decisión que son una técnica muy popular para representar los datos pues son muy gráficos, cualquiera que vea un árbol de decisión puede obtener conclusiones de este fácilmente.

Lo que haremos ahora es construir un árbol de decisión a partir de nuestro dataset ¿Notas alguna particularidad en estos datos? ¿Cuál? Lo primero que vemos es que cuando el clima es nublado el golfista siempre juega, si el clima en cambio es soleado con una humedad menor o igual a 75º F juega, pero si la humedad en cambio es mayor a 75º F no juega ¿Ves qué sucede cuándo llueve? Bien, al final nuestro árbol quedaría de la siguiente forma:

tree-notebook
Árbol de decisión generado a partir del dataset anterior

Reglas de producción

Del árbol de decisión que hemos creado podemos obtener algunas reglas de producción de la forma if-then, las que obtendríamos del árbol anterior serían las siguientes:

      if outlook = sunny and humidity <= 75 then PLAY
      if outlook = sunny and humidity > 75 then DON’T PLAY
      if outlook = overcast then PLAY
      if outlook = rain and not windy then PLAY
      if outlook = rain and windy then DON’T PLAY

Como puedes ver resultó sencillo obtener el árbol de decisión. Pero qué tal cuándo estamos manejando una mayor cantidad de datos, entonces es necesario aplicar otras técnicas menos empíricas y más algorítmicas, también es necesario usar herramientas que nos ayuden a hacer este tipo de análisis. Pues eso lo trabajaremos en un siguiente post, veremos un herramienta llamada Weka y estudiaremos el método de la entropía… hasta entonces😉

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s