Ir al contenido

Minería de datos

De Wikiversidad
(Redirigido desde «Curso de Minería de datos»)
Facultad Ingeniería
Departamento Informática
Área Tecnologías de información
Nivel Universitario

Mientras el volumen de datos crece, el número de personas que los entiende disminuye de forma igualmente rápida. No obstante bajo este mar de datos está escondida información muy útil que rara vez es aprovechada dada la complejidad para obtenerla.

En este proyecto de aprendizaje exploraremos el concepto de minería de datos como una herramienta para descubrir patrones aprovechables en grandes volúmenes de datos y las facilidades que nos proporciona.

Objetivo General

[editar]
  • Conocer los fundamentos de la minería de datos y las herramientas que pueden utilizarse para aplicarla.

Introducción

[editar]

¿Para qué? ¿de dónde surge?

[editar]

El proceso de minería de datos(MD) es entendido como el descubrimiento de patrones en los datos. En general debe ser un proceso automático o semi automático. Los patrones descubiertos deben de tener alguna utilidad o se les puede aprovechar de alguna forma. Los datos están presentes en cantidades voluminosas(muy grandes).

La MD es un tema pragmático que involucra el proceso de aprendizaje de forma práctica, no teórica. Se está interesado en las técnicas para encontrar y describir patrones estructurales en los datos como una herramienta para ayudar a explicar los datos y de esa forma lograr realizar predicciones, consultas, estudios, relaciones y otras, de ellos.

La minería de datos es a menudo vista como una parte del Descubrimiento de conocimiento en las bases de datos (KDD knowlegde discovery in databases). Los procesos del KDD ocurren en varias etapas: elegir los datos apropiados, preprocesarlos, transformalos si es necesario, realizar la minería de datos, encontrar patrones, relaciones y luego, interpretar las estructuras descubiertas, de ser necesario.

¿Qué es MD? y que no es MD

[editar]

El proceso de minería de datos es algo no trivial, por lo tanto no son procesos de MD las siguientes acciones:

  • Buscar un número de telefono en el directorio.
  • Realizar una búsqueda en Internet para la palabra 'Liverpool'.

Por otro lado, lo siguiente sí entraría en el campo de la MD:

  • Encontrar que ciertos apellidos son más comunes en ciertas zonas del país (Garza, Fernández, García en el norte, Hernández y Pérez en el centro).
  • Agrupar documentos regresados por la búsqueda web dependiendo el concepto en el que se encuentren (Documentos que tienen Liverpool refiriéndose a la tienda y documentos que tienen a Liverpool refiriéndose la ciudad)

Ejemplo: Actos que producen datos que podrían ser utilizados por la MD

[editar]

Hoy en día muchos de nuestros actos son guardados por diversas compañías y cada vez es más sencillo conocer todo lo que hacemos dado que todo es almacenado en bases de datos, por ejemplo:

Pagar con tarjeta de crédito o débito
De esta forma el banco obtiene datos como lugar, fecha, hora, monto gastado, tienda.
Hablar por celular
La compañía que nos provee el servicio obtendrá la duración de la llamada, y número a donde se habló, incluso la ubicación geográfica de nuestro celular.
Marcar la hora de entrada y salida del trabajo
Además de lo obvio podemos conocer cuantas personas van a trabajar, cuanto es el tiempo de retraso.
Ir a comprar a un supermercado
Aún cuando paguemos con efectivo la tienda sabrá que productos compramos, cuanto fue el monto gastado, que día compramos, etc.

Como se puede ver, casi todas las acciones que realizamos en la vida cotidiana, ya están guardadas o almacenadas en algún tipo de base de datos, y es en ellas donde la MD puede realizar su trabajo.

Tareas de la minería de datos

[editar]

Es conveniente categorizar la minería de datos en diferentes tareas, correspondientes a los objetivos de la persona que analizara los datos. Cabe resaltar que esta categorización no es única.

  1. Análisis exploratorio de datos (EDA).- La meta es simplemente explorar los datos sin una idea clara de lo que estamos buscando. Generalmente las técnica de EDA son interactivas y visuales.
  2. Modelado descriptivo.- La idea principal es describir todos los datos. Por ejemplo particionar el espacio de datos en grupos (mediante el uso de clusters y segmentación).
  3. Modelado predictivo, regresión y clasificación.- El objetivo es construir un modelo que permita que el valor de una variable sea predecido mediante el conocimiento de las otras. En clasificación la variable a predecir es categórica, mientras que en regresión es cuantitativa.
  4. Descrubrimiento de patrones y reglas.- Su misión es la detección de patrones que ocurren en los datos.
  5. Retroalimentación por el contexto.- Aquí el usuario tiene un patrón en específico y quiere buscar patrones similares en el conjunto de datos.

Componentes de los algoritmos de minería de datos

[editar]
  • Modelo o patrón. Un modelo es una descripción global del conjunto de datos. Toma una perspectiva completa y total. En contraste un patrón es una propiedad local de los datos, tal vez sólo la tienen ciertas instancias o atributos. En general los patrones son interesantes porque representan diferencias con el modelo: un par de variable con alta correlación, un conjunto de instancias con altos valores en ciertas variables, etc.
  • Función score o evaluadora. Dado un modelo o patrón, debemos de evaluar o calificar como se comportan diferentes conjuntos de parámetros con respecto a los datos, para que así podamos elegir un 'buen conjunto' de datos. El propósito de una función score debe ser de calificar los modelos como si fuera una función de qué tan útil los modelos son para el minero de datos, es decir debe juzgar la calidad del modelo propuesto.
  • Métodos de búsqueda y optimización. Trata de métodos computacionales que buscan los mejores modelos o patrones que encajen con los datos, además de buscar procedimientos para optimizar los valores de los parámetros para minimizar o maximizar la función score.
  • Estrategia para el manejo de los datos. Se trata de buscar formas de manejar el acceso a los datos de forma eficiente durante la búsqueda y optimización, para ello se trabaja en la organización de los datos y su manejo en memoria.

Estadística y minería de datos

[editar]

La diferencia fundamental entre las aplicaciones clásicas de la estadística y la minería de datos es el tamaño del conjunto de datos. Para un estadístico, un conjunto grande de datos contendrá cientos o miles de datos, mientras que para un minero de datos, millones o incluso miles de millones no es algo inesperado en su trabajo.

Otra diferencia es que, en general el proceso estadístico esta basado en un análisis de primera mano, es decir, los datos son obtenidos con preguntas específicas y particulares, mientras que la MD es un proceso secundario, antes tuvo que obtenerse esos datos que normalmente no tenían como fin el ser analizados.

No obstante las diferencias antes mencionadas, la estádística y la minería de datos están íntimamente relacionadas así como también el llamado aprendizaje automático (Machine Learning) y otros conceptos de la inteligencia artificial.

Aprendizaje

[editar]

Definir qué es aprendizaje y qué es aprendizaje automático es caer en cuestiones filosóficas y eso no es muy importante ahora, sin embargo vale la pena saber algunas definiciones de lo que es aprender:

  • Estar informado sobre algo.
  • Obtener información de la observación.
  • Obtener conocimiento mediante el estudio o experiencia.
  • Recibir alguna instrucción.


Tipos de aprendizaje

[editar]

Existen en general tres distintos tipos de aprendizaje:

Supervisado
consiste en aprender una función a partir de ejemplos de sus entradas y salidas.
No supervisado
consiste en aprender de patrones de entradas para los que no se especifican los valores de sus salidas.
Por refuerzo
es el más general de los tres, en vez de que alguien explique que hacer, se debe de aprender por refuerzo.

¿Por qué funciona el aprendizaje?

[editar]

El aprendizaje funciona ya que está basado en la teoría computacional del aprendizaje, un campo en el que intervienen la IA, la estadística y la computación teórica. El principio fundamental es que: cualquier hipótesis que sea muy errónea será descubierta con una probabilidad alta después de un número pequeño de ejemplos, ya que realizará una predicción incorrecta.

Por ello, es improbable que cualquier hipótesis que es consistente con un conjunto suficientemente grande de ejemplos de entrenamiento sea muy erronea: es decir, debe ser una aproximación correcta probable (PAC).

Cabe resaltar algo que es sumamente importante y que tal vez, no es tan notorio en la definición anterior, la relación entre los ejemplos de prueba y entrenamiento. La suposición clave es que son elegidos de forma independiente a partir de un mismo conjunto de ejemplos que siguen una misma distribución de probabilidad. Sin lo anterior la teoría no podría predecir nada ya que no existe una conexión entre el 'pasado' y el 'futuro'.

Datos

[editar]

Un conjunto de datos es un conjunto de mediciones o información, tomadas de algún ambiente o proceso. Así que en el caso más simple tenemos una colección de 'n' objetos, y para cada objeto tenemos una serie de 'p' mediciones. Podemos pensarlo como una matriz n x p de datos. Sin embargo, en la práctica, muchos conjuntos no entran en este esquema tan simple. Ya que aún cuando mucha de la información puede ser ajustada al modelo, esto hará que pierda parte de su propia estructura.


De la tabla tenemos lo siguiente:

  1. Podemos llamar a las columnas(Id, Estado civil, Escolaridad...) atributos, variables, características.
  2. A las filas o renglones les llamaremos objetos, instancias, entidades, observaciones, ejemplos.
  3. Una colección de atributos describe a un objeto.
  4. Un Atributo es una propiedad de un objeto.


Datos experimentales y observables

[editar]

Existe una gran diferencia entre datos experimentales y observables, y debido a ello podemos tener grandes problemas si no conocemos bien las diferencias.

Por una parte los datos experimentales son aquellos que, han sido obtenidos por personas que tenían estricto control de todos los atributos.

Los datos observables son aquellos de los que no conocemos gran cosa, o no sabemos si fueron obtenidos con algún tipo de control. En general en MD los datos que se manejan son observables.

Ejemplo: Datos observables y sus conclusiones

[editar]

Para entender mejor la diferencia entre ellos veamos un ejemplo:

Tenemos una tabla que nos dice el porcentaje de refresco de dieta que consume cierta persona y el peso de ella. Estos datos no nos dicen como se obtuvo la información, es decir pudo ser obtenida preguntando a varias personas en la calle (datos observables) o se tomó un grupo de personas y tu controlas como van a tomar el refresco ese grupo de personas para luego tomar las muestras.

Esto nos lleva a la siguiente pregunta, si tomamos los datos observables; ¿cuál sería la posible tendencia de los datos?:

  1. Entre más refresco de dieta se toma, más peso se tiene.
  2. Entre más delgado se es, más refresco de dieta se toma.

Si pensamos un poco veremos que ambas respuestas son posibles ya que las personas con más peso podrían tomar más refresco de dieta porque están en algún tipo de dieta. Por el contrario puede pasar que personas que ya son delgadas no quieren subir de peso y entonces toman mucho refresco de dieta.

Sabiendo que los datos son observables, tenemos dos conclusiones totalmente diferentes para las posibles tendencias que tengan los datos:

  1. Entre más refresco de dieta se toma, más peso se tiene. Entonces la conclusión sería; el refresco de dieta engorda y entonces, es algo malo. Hay que tomar refresco que no sea de dieta.
  2. Entre más delgado se es, más refresco de dieta se toma. En ese caso la conclusión sería; que el refresco de dieta no te hace ganar peso ya que, puedes tomar mucho y tu peso no aumentará.

Lo anterior no quiere decir que no se pueda concluir NADA de los datos observables, en el ejemplo anterior se puede mencionar que el consumo de refresco de dieta esta relacionado con un peso elevado. Por lo tanto, siempre podemos trabajar con datos observables pero hay que ser cuidadosos con los resultados que vamos a obtener. Desde el punto de vista estadístico podemos decir que los datos tienen una alta correlación pero no son causales uno del otro.

Tipos de atributos

[editar]

Categóricos y numéricos

[editar]
  • Categoricos (Cualitativos) representan categorías mas que números. Operaciones como la suma o la resta no tienen sentido. Se dividen a su vez en:
    • Nominales: no tienen orden significativo. Podemos realizar operaciones de igualdad o desigualdad.
    • Ordinales: tienen orden definido. Se puede realizar igualdades, desigualdades, mayor y menor que.

Hay que tener cuidado ya que existen atributos que pueden parecer numéricos pero son categóricos, como un código postal o un número de teléfono, hay que notar que no tiene sentido que dos códigos postales sean sumados o sacar el promedio de varios números de teléfono, por eso son categóricos.

  • Numéricos (Cuantitativos) son atributos que son número y pueden ser tratados como tal. Se dividen a su vez en:
    • Intervalo: no existe un 'cero', la división no tiene sentido. Se pueden hacer operaciones de igualdad, desigualdad, de orden, sumas y restas.
    • Radio: el cero existe, la división tiene sentido. Podemos realizar operaciones que tiene intervalo y además multiplicación y división.

Discretos y continuos

[editar]

Un atributo discreto tiene un número finito o contable de valores. En general se representa como números enteros. Atributos binarios son un caso especial de ellos.

Un atributo continuo tiene un número infinito de valores posibles. Es representado por números reales o de punto flotante. Se pueden obtener tan precisos como sea el instrumento de medición.

Los atributos categóricos o cualitativos siempre son discretos. Los atributos numéricos pueden ser continuos o discretos.

Ejemplo: Atributos y sus categorías

[editar]
  • Número de teléfonos en la casa: Numérico (radio), discreto.
  • Tamaño de unas papas (Pequeñas, Medianas, Grandes): Categórico (ordinal), discreto.
  • Propiedad de un celular: Categorico (nominal), Binario.
  • Número de llamadas que hiciste durante un mes: Numérico (radio), discreto.
  • Duración de la llamada mas larga: Numérico (radio), continuo.
  • Tamaño del pie: Numérico (radio), continuo.
  • Precio de un libro: Numérico (radio), discreto(aún cuando trabajemos con dos decimales).
  • Código postal: Categórico (nominal), discreto.
  • Temperatura en grados Centígrados: Numérico (intervalo), continuo.
  • Temperatura en grandos Farenheit: Numérico (intervalo), continuo.
  • Temperatura en grados Kelvin: Numérico (radio), continuo.

Muestreo

[editar]

El muestreo involucra usar sólo ciertos subconjuntos elegidos al azar para el análisis. Los estadistas están interesados porque en general no se puede trabajar con toda la población, en MD el problema es que sería muy lento trabajar con todo el conjunto de datos.

Muestreo aleatorio simple

[editar]

Es el tipo más básico de muestreo. Cada instancia tiene la misma probabilidad de inclusión y cada ejemplar de los seleccionados tiene la misma probabilidad de ser elegido. Puede trabajarse con reemplazo (las instancias pueden ser elegidas más de una vez) o sin reemplazo (las instancias sólo se eligen una vez).

Otros tipos de muestreo

[editar]
Muestreo aleatorio estratificado

Es uno de los diseños más útiles, en el primero se divide a la población en segmentos homogéneos (parecidos) y después se toman muestras aleatorias simples de esas sub poblaciones individuales.

Muestreo Sistemático

Implica seleccionar las unidades de manera sistemática, es decir, sin aleatoriedad. El propósito de esta técnica es usualmente seleccionar unidades de manera uniforme por toda la población. Específicamente si $k = N/n$, donde N es el tamaño de la población y n es el tamaño de la muestra deseado, este método toma una unidad de los primeros k elementos de la población y a partir de ahí cada k-ésimo elemento. Generalmente se introduce un factor aleatorio, escogiendo la primera unidad al azar. Sin embargo, la selección de la primera unidad determina el resto de los elementos escogidos en la muestra.


Comentarios finales acerca del muestreo

[editar]

El muestreo puede ser ineficiente cuando los datos tiene una estructura más compleja que ser simples observaciones independientes. Por ejemplo tomemos un 'muestreo' de ciertas palabras de una canción.

    seas       cariño
    importa 
     amor         también 
                                  extraño
                                amor
Que                   adiós
Perdóname 

Como se puede observar, la mayor parte de la información se perdió. Algo que se podría realizar es tomar muestras de líneas enteras o párrafos enteros de varias canciones, el punto es que no se pierdan las relaciones que existen entre los datos.

Que seas muy feliz, estés donde estés, cariño
No importa que ya, no vuelvas jamás, conmigo
Deseo mi amor, que sepas también que te amo
Que no te olvidé, que nunca podré, te extraño
Que seas muy feliz que encuentres amor, mi vida
Que nunca mi amor, te digan adiós, un día
Perdóname mi amor por todo el tiempo que te amé y te hice daño


Enlaces Externos

[editar]

mineria datos y almacenamiento web Enlace donde se detalla puntos importantes como la minería de datos, explicando sus pasos de manera textual y gráfica.