SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Algoritmos Para Aplicar Data Mining
José Martin Sánchez Cardoso
Código: 084951132019
Mauricio Moya Garzón
Código: 084950952019
Juan Jairo Vélez
Código: 084951202019
Karen Romero Vaquiro
Código: 084951092019
Agosto 2019.
Tutor: Ángel Alberto Vargas Cano
Universidad del Tolima
Ingeniería de Sistemas.
Minería de Datos
Grupo 1
INTRODUCCIÓN
Cada día generamos una gran cantidad de información, algunas veces
conscientes de que lo hacemos y otras veces inconscientes de ello porque lo
desconocemos. Nos damos cuenta de que generamos información cuando
registramos nuestra entrada en el trabajo, cuando entramos en un servidor para
ver nuestro correo, cuando pagamos con una tarjeta de crédito o cuando
reservamos un billete de avión. Otras veces no nos damos cuenta de que
generamos información, como cuando conducimos por una vía donde están
contabilizando el número de automóviles que pasan por minuto, cuando se sigue
nuestra navegación por Internet o cuando nos sacan una fotografía del rostro al
haber pasado cerca de una oficina gubernamental.
Son muchos los motivos que nos llevan a generar información, ya que nos pueden
ayudar a controlar, optimizar, administrar, examinar, investigar, planificar, predecir,
someter, negociar o tomar decisiones de cualquier ámbito según el dominio en
que nos desarrollemos. La información por sí misma está considerada un bien
patrimonial. De esta forma, si una empresa tiene una pérdida total o parcial de
información provoca bastantes perjuicios. Es evidente que la información debe ser
protegida, pero también explotada.
Actualmente todas estas ventajas nos han llevado a abusar del almacenamiento
de la información en las bases de datos. Podemos decir que algunas empresas
almacenan un cierto tipo de datos al que hemos denominado dato-escritura, ya
que sólo se guarda (o escribe) en el disco duro, pero nunca se hace uso de él.
Generalmente, todas las empresas usan un dato llamado dato-escritura-lectura,
que utilizan para hacer consultas dirigidas. Un nuevo tipo de dato al cual hemos
denominado dato-escritura-lectura-análisis es el que proporciona en conjunto un
verdadero conocimiento y nos apoya en las tomas de decisiones. Es necesario
contar con tecnologías que nos ayuden a explotar el potencial de este tipo de
datos.
ALGORITMOS PARA APLICAR DATA MINING
A continuación se hará una pequeña descripción de los algoritmos para trabajar
con Oracle o Analysis Services de Microsoft
Bayesiano Naive.
Naïve Bayes es uno de los clasificadores más utilizados por su simplicidad y
rapidez.
Se trata de una técnica de clasificación y predicción supervisada que construye
modelos que predicen la probabilidad de posibles resultados. Constituye una
técnica supervisada porque necesita tener ejemplos clasificados para que
funcione, como ya veremos.
Está basada en el Teorema de Bayes, también conocido como teorema de la
probabilidad condicionada.
Supongamos que un ingeniero está buscando agua en un terreno. A priori, se
sabe que la probabilidad de que haya agua en dicha finca es del 60%. No
obstante, el ingeniero quiere asegurarse mejor y decide realizar una prueba que
permite detectar la presencia o no de agua. Dicha prueba tiene una fiabilidad del
90%, es decir, habiendo agua, la detecta en el 90% de los casos. También,
cuando realmente no hay agua, la prueba predice que no hay agua en el 90% de
los casos.
Por tanto, pudiendo hacer uso de dicha prueba ¿qué es más probable, que haya
agua o que no?"
Como vemos, en el enunciado tenemos una propabilidad a priori (60% de que
haya agua) que se ve afectada por otra propabilidad (el 90% de acierto de la
prueba). Para resolver esta problemática, Thomas Bayes nos dió la solución. La
probabilidad de que se dé un sucedo (que haya agua) habiendo sucedido otro que
influye en el anterior (que la prueba diga que sí hay agua), se define con la
siguiente fórmula:
No obstante, no es competencia de este blog entrar en demostraciones. Para más
información puede consultar la bibliografía)[1].
Por tanto, para resolver el problema, por un lado, habría que calcular la
probabidad de que hubiese agua sabiendo que la prueba ha detectado agua
(P(Agua|Prueba+)); y por otro lado, debemos calcular la probabilidad de que no
hubiese agua sabiendo que la prueba no ha detectado agua (P(NoAgua|Prueba-)).
También se debe tener en cuenta que la probabilidad de que la prueba salga
positiva, es la suma de las probabilidades de todos los casos posibles donde
pueda salir la prueba positiva. Se debe hacer igual con P(Prueba-):
P(Prueba+) = P(Prueba+|Agua)·P(Agua) + P(Prueba+|NoAgua)·P(NoAgua).
P(Prueba+) = 0,9·0,6 + 0,1·0,4 = 0,58
P(Prueba-) = P(Prueba-|Agua)·P(Agua) + P(Prueba-|NoAgua)·P(NoAgua).
P(Prueba-) = 0,1·0,6 + 0,9·0,4 = 0,42
P(Agua|Prueba+) = (P(Prueba+|Agua)·P(Agua) ) / P(Prueba+) = (0,9 · 0,6) / 0,58
= 0,93
P(NoAgua|Prueba-) = ( P(Prueba-|NoAgua)·P(NoAgua) ) / P(Prueba-) = (0,9 · 0,4)
/ 0,42 =0,86
Debemos quedamos con el resultado que refleje más probabilidad. En este caso,
es más probable que haya agua.
Nota: P(Prueba+|Agua)=0,9, como se dice en el enunciado. Es decir, en los casos
que se ha visto que finalmente había agua, la prueba ha acertado en el 90% de
esos casos.
¿Qué pasaría si existieran más pruebas para detectar si hay agua? Supongamos
que se aplican nuevas pruebas, identificadas como las pruebas 1, 2, 3 y 4. En este
caso tendriamos que calcular la probabilidad de que haya agua sabiendo que
todas las pruebas han dicho que hay agua. Es decir: P(Agua|P1+,P2+,P3+,P4+).
¿Pero cómo se calcula esto?
Tras aplicar el Teorema de Bayes y realizar diversos cálculos que se explican
detalladamente en la referencia [2], se llega a la conclusión de que:
Si generalizamos, obtenemos la siguiente expresión:
Si quisiéramos resolver nuevamente el enunciado anterior, deberíamos de volver a
calcular la probabilidad de que haya agua y de que no haya agua, y quedarnos
con la mayor. Como siempre nos quedamos con la mayor, podemos añadir un
matiz a la fórmula anterior:
Fórmula de Naïve Bayes
Si volvemos sobre nuestros pasos, podemos apreciar cada hecho (que haya agua
y que no haya) como una clase. También nos damos cuenta, que al final siempre
nos quedamos con una única clase. Incluyo podemos hacer una correspondencia
entre las pruebas de agua y posibles atributos o características de un problema en
cuestión. Por tanto, se puede modelar este problema como un problema de
clasificación supervisada: dado un nuevo ejemplo, calculamos la probabilidad de
que pertenezca a cada clase y nos quedamos con el resultado que emita mayor
probabilidad.
Un nuevo ejemplo nos aclarará las ideas. Supongamos un típico problema de
clasificación en Minería de Datos, donde tenemos unos cuantos ejemplos que
queremos clasificar. Cada ejemplo (también llamados instancias), se caracteriza
por una serie de atributos. Además como estamos en clasificación supervisada,
dichos ejemplos deben estar etiquetados, es decir, se debe definir de qué clase
son. Por tanto, tenemos un conjunto de 4 ejemplos con 3 atributos cada uno y 2
posibles clases.
Ejemplos Atr. 1 Atr. 2 Atr. 3 Clase
x1 1 2 1 positiva
x2 2 2 2 positiva
x3 1 1 2 negativa
x4 2 1 2 negativa
Caben destacar dos partes en el algoritmo. La primera es la construcción del
modelo, y la segunda clasificar un nuevo ejemplo con dicho modelo:
PARTE 1: Crear el modelo.
Para ello se necesitan cuatro pasos:
1. Calcular las probabilidades a priori de cada clase.
2. Para cada clase, realizar un recuento de los valores de atributos que toma
cada ejemplo. Se debe distribuir cada clase por separado para mayor comodidad y
eficiencia del algoritmo.
3. Aplicar la Corrección de Laplace, para que los valores "cero" no den
problemas.
4. Normalizar para obtener un rango de valores [0,1].
A continuación se detalla cada paso:
Paso 1: Hay varias formas de establecer la probabilidad a priori a cada clase. La
más intuitiva es que todas ellas tengan la misma probabilidad, es decir, 1 divido
entre el número de clases. Si contamos con la opinión de un experto, puede que
éste nos proporciones dichas probabilidades.
En este caso, vamos a considerar cada clase equiprobable. Por tanto:
P(positivo) = 1/2 = 0,5
P(negativo) = 1/2 = 0,5
Paso 2: Se crea una tabla (un otro contenedor) para cada clase y se hace un
recuento de valores:
positivo valor 1 valor 2
atr.1 1 1
atr.2 0 2
atr.3 1 1
negativo valor 1 valor 2
atr.1 1 1
atr.2 2 0
atr.3 0 2
Paso 3: Se suma una unidad a cada valor de la tabla anterior.
positivo valor 1 valor 2
atr.1 2 2
atr.2 1 3
atr.3 2 2
negativo valor 1 valor 2
atr.1 2 2
atr.2 3 1
atr.3 1 3
Paso 4: Se normalizan todos los valores de la tabla del siguiente modo. Cada
celda se divide por la suma de los valores de la fila. Por ejemplo, el valor: "valor 1"
del atributo: "atr. 2" se actualiza con: 1 / (1+3) = 0,25.
positivo valor 1 valor 2
atr.1 0,5 0,5
atr.2 0,25 0,75
atr.3 0,5 0,5
negativo valor 1 valor 2
atr.1 0,5 0,5
atr.2 0,75 0,25
atr.3 0,25 0,75
PARTE 2: Clasificar un nuevo ejemplo. Por ejemplo, x5 = {1,1,1}.
Para ello se necesitan dos pasos:
1. Para cada clase disponible, se determinan los valores de probabilidad de
cada valor de los atributos del nuevo ejemplo.
2. Aplicar la fórmula de Naïve Bayes.
A continuación se detalla cada paso:
Paso 1: En este caso, se para cada tabla escogemos los valores: 1 de cada
atributo, es decir, la primera columna de cada tabla, ya que todos los valores del
ejemplo x5 son: 1.
positivo valor 1 valor 2
atr.1 0,5 0,5
atr.2 0,25 0,75
atr.3 0,5 0,5
negativo valor 1 valor 2
atr.1 0,5 0,5
atr.2 0,75 0,25
atr.3 0,25 0,75
Paso 2: Se aplica la fórmula. Para cada clase se calcula su probabilidad.
Recordemos la fórmula:
Fórmula de Naïve Bayes
Por tanto:
P( positivo | x5 ) = 0,5 · ( 0,5 · 0,25 · 0,5 ) = 0,03125
P( negativo | x5 ) = 0,5 · ( 0,5 · 0,75 · 0,25 ) = 0,046875
Como la clase más probable es "negativa", clasificamos el nuevo ejemplo (x5)
como negativo.
Bayesianos Adaptativo.
La red de bayesiano adaptativo (RBA) construye clasificadores de redes
bayesianas mediante la longitud mínima de la descripción (LMD) y la selección de
características automática. RBA funciona bien en ciertas ocasiones en las que el
bayesiano ingenuo no funciona con precisión y funciona, como mínimo, igual de
bien en el resto de situaciones, aunque el rendimiento puede ser más lento. El
algoritmo RBA proporciona la capacidad de generar tres tipos de modelos
avanzados basados en los bayesianos, incluido el árbol de decisión simplificado
(mono-característica), el bayesiano ingenuo podado y los modelos multi-
característica aumentados.
Máquina de Vectores de Soportes (SVM).
La máquina de vectores de soporte (SVM) es un algoritmo de clasificación y
regresión que utiliza la teoría de aprendizaje de las máquinas para maximizar la
precisión de las predicciones sin ajustar excesivamente los datos. SVM utiliza una
transformación no lineal opcional de los datos de entrenamiento, seguida de la
búsqueda de ecuaciones de regresión en los datos transformados para separar las
clases (para objetivos categóricos) o ajustar el objetivo (para los objetivos
continuos). La implementación de SVM de Oracle permite que se generen
modelos mediante el uso de los dos kernels disponibles: lineal o gaussiano. El
kernel lineal omite la transformación no lineal de una vez, de tal forma que el
modelo resultante sea, en esencia, un modelo de regresión.
Modelos Lineales Generalizados (GLM).
Los modelos lineales generalizados relajan los supuestos restrictivos de los
modelos lineales. Entre ellos se incluyen, por ejemplo, los supuestos de que la
variable objetivo tiene una distribución normal y que el efecto de los predictores de
la variable objetivo es lineal por naturaleza. Un modelo lineal generalizado es el
adecuado para suposiciones en las que el objetivo es posible que tenga una
distribución no normal, como una distribución multinomial o de Poisson. De forma
similar, un modelo lineal generalizado es de gran utilidad en los casos en los que
es probable que la relación o enlace entre los predictores y objetivo sea no lineal.
Un modelo lineal generalizado tiene tres componentes básicos:
Componente aleatoria: Identifica la variable respuesta y su distribución de
probabilidad.
Componente sistemática: Especifica las variables explicativas (independientes o
predictoras) utilizadas en la función predictora lineal.
Función link: Es una función del valor esperado de Y , E(Y ), como una
combinación
lineal de las variables predictoras.
Árbol de Decisiones.
Los árboles de decisión son populares porque su aplicación es universal y sencilla,
y son fáciles de comprender. Los árboles de decisión criban a través de cada
atributo de entrada potencial en busca del mejor "divisor", es decir, el punto de
corte del atributo (por ejemplo, EDAD > 55) que divide los registros de datos
posteriores de la ruta en varias poblaciones homogéneas. Tras cada decisión de
división, ODM repite el proceso desarrollando el árbol entero y creando "hojas"
terminales que representan poblaciones similares de registros, elementos o
personas. Al descender desde el nodo raíz del árbol (por ejemplo, la población
total), los árboles de decisión proporcionan reglas legibles para los humanos de
las instrucciones Si A, entonces B. Estas reglas del árbol de decisión también
proporcionan el soporte y la confianza para cada nodo del árbol.
O-Conglomerado.
El algoritmo O-clúster de Oracle identifica las agrupaciones que se producen de
forma natural en una población de datos. La agrupación en clústeres de partición
ortogonal (O-clúster) es un algoritmo de agrupación en clústeres propiedad de
Oracle que crea un modelo de agrupación en clústeres jerárquica basado en la
cuadrícula, es decir, crea particiones de eje paralelo (ortogonal) en el espacio del
atributo de entrada. El algoritmo funciona de forma recursiva. La estructura
jerárquica resultante representa una cuadrícula irregular que forma un mosaico de
clústeres en el espacio del atributo.
El algoritmo O-clúster gestiona atributos numéricos y categóricos, y ODM
selecciona de forma automática las mejores definiciones de clúster. ODM
proporciona información detallada, reglas y valores centroides del clúster, y se
puede utilizar para puntuar una población en relación con su pertenencia a un
clúster.
Los algoritmos de formación de conglomerados se agrupan en dos categorías:
· Algoritmos de partición: Método de dividir el conjunto de observaciones en k
conglomerados (clusters), en donde k lo define inicialmente el usuario.
· Algoritmos jerárquicos: Método que entrega una jerarquía de divisiones del
conjunto de elementos en conglomerados.
Algoritmo O cluster
1. Cargar el buffer: Si todos los datos no caben en el buffer un ejemplo aleatorio
será utilizado. O clúster apunta del buffer inicial a la única partición activa root.
2. Computar histogramas de particiones activas: La meta es computar histogramas
a través de las proyecciones unidimensionales ortogonales de cada una de las
particiones.
3. Encontrar el mejor punto de separación para las particiones activas: Para cada
histograma, O clúster pretende encontrar la mejor zona de corte si existe. Los
algoritmos examinan de manera separada los grupos de atributos numéricos y
nominales y selecciona el mejor.
4. Banderas ambiguas y particiones congeladas: Si no se encuentran puntos de
separación, O clúster revisa si tiene un punto valido de separación a un nivel de
menor confidencialidad, si es el caso las particiones se consideran ambiguas. Si
no hay ambigüedad y no hay puntos de separación, la partición se considera
“congelada”.
5. Particiones de separación activas: Si existe un separador valido, los datos son
separados en el lugar del corte, y dos nuevas particiones activas son creadas de
la partición original. Regresa al paso 2
6. Recargar el buffer: Este paso se lleva a cabo cuando la partición recursiva del
buffer es completada. Si todas las particiones fueron congeladas y no hay más
puntos de datos disponibles, el algoritmo termina. Por lo contrario si algunas
particiones son marcadas como ambiguas y si existen registros de datos no vistos,
O clúster procede con la recarga del buffer de datos.
Cuando hay nuevos registros leídos, solo los puntos de los datos que caen del
lado de los ambiguos se colocan en el buffer. Los congelados no se agregan y son
descartados. La carga de nuevos registros continua si 1) El buffer se llena de
nuevo 2) Se alcanza el término del Data-Set o 3) Un número razonable de
registros (igual al tamaño del buffer) han sido leídos, aunque el buffer no esté lleno
y no haya más datos. La razón para esta última condición es que el buffer es
relativamente grande y existen muchos puntos marcados para su borrado, y toma
mucho tiempo llenar el buffer con datos de regiones ambiguas. Para evitar la
recarga excesiva bajo estas circunstancias, este proceso se termina cuando es del
tamaño del buffer. Una vez que la recarga del buffer es completada, el algoritmo
procede al paso 2
K-Medias.
El algoritmo K-medias de Oracle identifica los clústeres que se producen de forma
natural en una población de datos. El algoritmo K-medias es un algoritmo de
agrupación en clústeres basado en la distancia que divide los datos en un número
de clústeres predeterminado (siempre que haya suficientes casos distintos). Los
algoritmos basados en la distancia confían en una métrica de distancia (función)
para calcular la similitud entre los puntos de datos. Los puntos de datos se
asignan al clúster más próximo en función de la métrica de distancia empleada.
ODM proporciona una versión mejorada de K-medias.
El algoritmo K-medias admite clústeres jerárquicos, trata atributos numéricos y
categóricos, y divide la población en el número de clústeres especificado por el
usuario. ODM proporciona información detallada, reglas y valores centroides del
clúster, y se puede utilizar para puntuar una población en relación con su
pertenencia a un clúster.
Factorización de matrices no negativas (NMF).
La factorización de matrices no negativas (NMF) permite reducir los grandes
conjuntos de datos en atributos representativos. Conceptualmente, es similar al
análisis de componentes principales (PCA) pero puede gestionar un mayor
número de atributos en modelos de representación aditivos; NMF es un algoritmo
de minería de datos potente y actual que se puede usar para una amplia variedad
de casos.
NMF permite reducir grandes cantidades de datos, por ejemplo, datos de texto, en
representaciones más pequeñas y dispersas que reducen la dimensionalidad de
los datos (se puede conservar la misma información con muchas menos
variables). El resultado de los modelos de NMF se puede analizar mediante
técnicas de aprendizaje supervisado, como las de SVM, o técnicas de aprendizaje
no supervisado, como las técnicas de agrupación en clústeres. Oracle Data Mining
utiliza algoritmos NMF y SVM para analizar datos de texto no estructurados.
Longitud Minima de la descripcion (LMD).
El algoritmo de longitud mínima de descripción de Oracle (MDL) ayuda a identificar
los atributos que tienen la mayor influencia en un atributo de destino. A menudo,
saber qué atributos son más influyentes lo ayuda a comprender y administrar
mejor su negocio y puede ayudar a simplificar las actividades de modelado.
Además, estos atributos pueden indicar los tipos de datos que puede desear
agregar para aumentar sus modelos. MDL podría usarse, por ejemplo, para
encontrar los atributos del proceso más relevantes para predecir la calidad de una
pieza fabricada, los factores asociados con la rotación, o los genes más
probablemente involucrados en el tratamiento de una enfermedad en particular.
Oracle MDL descarta los campos de entrada que considera que no son
importantes para predecir el destino. Con los campos de entrada restantes,
construye un nugget de modelo sin refinar que está asociado con un modelo de
Oracle, visible en Oracle Data Miner. Al explorar el modelo en Oracle Data Miner,
se muestra un gráfico que muestra los campos de entrada restantes, ordenados
por orden de importancia para predecir el objetivo.
La clasificación negativa indica ruido. Los campos de entrada clasificados en cero
o menos no contribuyen a la predicción y probablemente deberían eliminarse de
los datos.
Importancia del atributo de Oracle (AI).
El objetivo de la importancia del atributo es descubrir los atributos del conjunto de
datos que están relacionados con el resultado y el grado en el que influyen en el
resultado final. El nodo Importancia del atributo de Oracle analiza los datos, busca
patrones y predice resultados con un nivel de confianza asociado.
CONCLUSIONES
Nuestra capacidad para almacenar datos ha crecido en los últimos años a
velocidades exponenciales. En contrapartida, nuestra capacidad para procesarlos
y utilizarlos no ha ido a la par. Por este motivo, el data mining se presenta como
una tecnología de apoyo para explorar, analizar, comprender y aplicar el
conocimiento obtenido usando grandes volúmenes de datos. Descubrir nuevos
caminos que nos ayuden en la identificación de interesantes estructuras en los
datos es una de las tareas fundamentales en el data mining.
En el ámbito comercial, resulta interesante encontrar patrones ocultos de consumo
de los clientes para poder explorar nuevos horizontes. Saber que un vehículo
deportivo corre un riesgo de accidente casi igual al de un vehículo normal cuando
su dueño tiene un segundo vehículo en casa ayuda a crear nuevas estrategias
comerciales para ese grupo de clientes. Asimismo, predecir el comportamiento de
un futuro cliente, basándose en los datos históricos de clientes que presentaron el
mismo perfil, ayuda a poder retenerlo durante el mayor tiempo posible.
Las herramientas comerciales de data mining que existen actualmente en el
mercado son variadas y excelentes. Las hay orientadas al estudio del web o al
análisis de documentos o de clientes de supermercado, mientras que otras son de
uso más general. Su correcta elección depende de la necesidad de la empresa y
de los objetivos a corto y largo plazo que pretenda alcanzar. La decisión de
seleccionar una solución de data mining no es una tarea simple. Es necesario
consultar a expertos en el área con vista a seleccionar la más adecuada para el
problema de la empresa.
En resumen, el data mining se presenta como una tecnología emergente, con
varias ventajas: por un lado, resulta un buen punto de encuentro entre los
investigadores y las personas de negocios; por otro, ahorra grandes cantidades de
dinero a una empresa y abre nuevas oportunidades de negocios. Además, no hay
duda de que trabajar con esta tecnología implica cuidar un sinnúmero de detalles
debido a que el producto final involucra "toma de decisiones".

Más contenido relacionado

Similar a Algoritmos para aplicar data mining

Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problema
yenmary
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultados
Sergio Valenzuela Mayer
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultados
Sergio Valenzuela Mayer
 
Prueba de reconocimiento de comp y capa 4° mate
Prueba de reconocimiento de comp y capa 4° matePrueba de reconocimiento de comp y capa 4° mate
Prueba de reconocimiento de comp y capa 4° mate
Reymundo Salcedo
 
Actividades del seminario 5
Actividades del seminario 5Actividades del seminario 5
Actividades del seminario 5
Andreea Galleta
 

Similar a Algoritmos para aplicar data mining (20)

Metodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problemaMetodologia para el analisis y planteamiento del problema
Metodologia para el analisis y planteamiento del problema
 
Engaños matematicos curiosos
Engaños matematicos curiososEngaños matematicos curiosos
Engaños matematicos curiosos
 
¿Que son las falacias?
¿Que son las falacias?¿Que son las falacias?
¿Que son las falacias?
 
Módulo 2
Módulo 2Módulo 2
Módulo 2
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Tarea de word
Tarea de wordTarea de word
Tarea de word
 
Presentación clase 5 regresión múltiple.pdf
Presentación clase 5 regresión múltiple.pdfPresentación clase 5 regresión múltiple.pdf
Presentación clase 5 regresión múltiple.pdf
 
Introduccion a los algoritmos
Introduccion  a los algoritmosIntroduccion  a los algoritmos
Introduccion a los algoritmos
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultados
 
Ce ps 2-08.01.2011
Ce ps 2-08.01.2011Ce ps 2-08.01.2011
Ce ps 2-08.01.2011
 
Ce ps 2-08.01.2011
Ce ps 2-08.01.2011Ce ps 2-08.01.2011
Ce ps 2-08.01.2011
 
Capítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultadosCapítulo 07 interpretación de resultados
Capítulo 07 interpretación de resultados
 
Prueba de reconocimiento de comp y capa 4° mate
Prueba de reconocimiento de comp y capa 4° matePrueba de reconocimiento de comp y capa 4° mate
Prueba de reconocimiento de comp y capa 4° mate
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Preguntaaas
PreguntaaasPreguntaaas
Preguntaaas
 
Presentación1
Presentación1Presentación1
Presentación1
 
Activity 3 2 linear inequalities
Activity 3 2 linear inequalitiesActivity 3 2 linear inequalities
Activity 3 2 linear inequalities
 
Tecno (1)
Tecno (1)Tecno (1)
Tecno (1)
 
Actividades del seminario 5
Actividades del seminario 5Actividades del seminario 5
Actividades del seminario 5
 
Sesion1.VariableAleatoria.pdf
Sesion1.VariableAleatoria.pdfSesion1.VariableAleatoria.pdf
Sesion1.VariableAleatoria.pdf
 

Más de Jose Sanchez (20)

Sanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfSanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdf
 
Database miningguide
Database miningguideDatabase miningguide
Database miningguide
 
Maquinas de vectores
Maquinas de vectoresMaquinas de vectores
Maquinas de vectores
 
Ensayo tutoria 1 sep
Ensayo tutoria 1 sepEnsayo tutoria 1 sep
Ensayo tutoria 1 sep
 
Data mining
Data mining Data mining
Data mining
 
Segunda condicional
Segunda condicionalSegunda condicional
Segunda condicional
 
Unit 8
Unit 8Unit 8
Unit 8
 
Aprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroAprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primero
 
Preguntas generadoras(1)
Preguntas generadoras(1)Preguntas generadoras(1)
Preguntas generadoras(1)
 
Taller n°1(1)
Taller n°1(1)Taller n°1(1)
Taller n°1(1)
 
Actividad de Aprendizaje
Actividad de AprendizajeActividad de Aprendizaje
Actividad de Aprendizaje
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
 
Introducción a los paradigmas de programación
Introducción a los paradigmas de programaciónIntroducción a los paradigmas de programación
Introducción a los paradigmas de programación
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
The thirty
The thirtyThe thirty
The thirty
 
Resumen 39 steps
Resumen 39 stepsResumen 39 steps
Resumen 39 steps
 
My daily routine
My daily routineMy daily routine
My daily routine
 
Personal introduction
Personal introductionPersonal introduction
Personal introduction
 

Algoritmos para aplicar data mining

  • 1. Algoritmos Para Aplicar Data Mining José Martin Sánchez Cardoso Código: 084951132019 Mauricio Moya Garzón Código: 084950952019 Juan Jairo Vélez Código: 084951202019 Karen Romero Vaquiro Código: 084951092019 Agosto 2019. Tutor: Ángel Alberto Vargas Cano Universidad del Tolima Ingeniería de Sistemas. Minería de Datos Grupo 1
  • 2. INTRODUCCIÓN Cada día generamos una gran cantidad de información, algunas veces conscientes de que lo hacemos y otras veces inconscientes de ello porque lo desconocemos. Nos damos cuenta de que generamos información cuando registramos nuestra entrada en el trabajo, cuando entramos en un servidor para ver nuestro correo, cuando pagamos con una tarjeta de crédito o cuando reservamos un billete de avión. Otras veces no nos damos cuenta de que generamos información, como cuando conducimos por una vía donde están contabilizando el número de automóviles que pasan por minuto, cuando se sigue nuestra navegación por Internet o cuando nos sacan una fotografía del rostro al haber pasado cerca de una oficina gubernamental. Son muchos los motivos que nos llevan a generar información, ya que nos pueden ayudar a controlar, optimizar, administrar, examinar, investigar, planificar, predecir, someter, negociar o tomar decisiones de cualquier ámbito según el dominio en que nos desarrollemos. La información por sí misma está considerada un bien patrimonial. De esta forma, si una empresa tiene una pérdida total o parcial de información provoca bastantes perjuicios. Es evidente que la información debe ser protegida, pero también explotada. Actualmente todas estas ventajas nos han llevado a abusar del almacenamiento de la información en las bases de datos. Podemos decir que algunas empresas almacenan un cierto tipo de datos al que hemos denominado dato-escritura, ya que sólo se guarda (o escribe) en el disco duro, pero nunca se hace uso de él. Generalmente, todas las empresas usan un dato llamado dato-escritura-lectura, que utilizan para hacer consultas dirigidas. Un nuevo tipo de dato al cual hemos denominado dato-escritura-lectura-análisis es el que proporciona en conjunto un verdadero conocimiento y nos apoya en las tomas de decisiones. Es necesario contar con tecnologías que nos ayuden a explotar el potencial de este tipo de datos.
  • 3. ALGORITMOS PARA APLICAR DATA MINING A continuación se hará una pequeña descripción de los algoritmos para trabajar con Oracle o Analysis Services de Microsoft Bayesiano Naive. Naïve Bayes es uno de los clasificadores más utilizados por su simplicidad y rapidez. Se trata de una técnica de clasificación y predicción supervisada que construye modelos que predicen la probabilidad de posibles resultados. Constituye una técnica supervisada porque necesita tener ejemplos clasificados para que funcione, como ya veremos. Está basada en el Teorema de Bayes, también conocido como teorema de la probabilidad condicionada. Supongamos que un ingeniero está buscando agua en un terreno. A priori, se sabe que la probabilidad de que haya agua en dicha finca es del 60%. No obstante, el ingeniero quiere asegurarse mejor y decide realizar una prueba que permite detectar la presencia o no de agua. Dicha prueba tiene una fiabilidad del 90%, es decir, habiendo agua, la detecta en el 90% de los casos. También, cuando realmente no hay agua, la prueba predice que no hay agua en el 90% de los casos. Por tanto, pudiendo hacer uso de dicha prueba ¿qué es más probable, que haya agua o que no?" Como vemos, en el enunciado tenemos una propabilidad a priori (60% de que haya agua) que se ve afectada por otra propabilidad (el 90% de acierto de la prueba). Para resolver esta problemática, Thomas Bayes nos dió la solución. La probabilidad de que se dé un sucedo (que haya agua) habiendo sucedido otro que influye en el anterior (que la prueba diga que sí hay agua), se define con la
  • 4. siguiente fórmula: No obstante, no es competencia de este blog entrar en demostraciones. Para más información puede consultar la bibliografía)[1]. Por tanto, para resolver el problema, por un lado, habría que calcular la probabidad de que hubiese agua sabiendo que la prueba ha detectado agua (P(Agua|Prueba+)); y por otro lado, debemos calcular la probabilidad de que no hubiese agua sabiendo que la prueba no ha detectado agua (P(NoAgua|Prueba-)). También se debe tener en cuenta que la probabilidad de que la prueba salga positiva, es la suma de las probabilidades de todos los casos posibles donde pueda salir la prueba positiva. Se debe hacer igual con P(Prueba-): P(Prueba+) = P(Prueba+|Agua)·P(Agua) + P(Prueba+|NoAgua)·P(NoAgua). P(Prueba+) = 0,9·0,6 + 0,1·0,4 = 0,58 P(Prueba-) = P(Prueba-|Agua)·P(Agua) + P(Prueba-|NoAgua)·P(NoAgua). P(Prueba-) = 0,1·0,6 + 0,9·0,4 = 0,42 P(Agua|Prueba+) = (P(Prueba+|Agua)·P(Agua) ) / P(Prueba+) = (0,9 · 0,6) / 0,58 = 0,93 P(NoAgua|Prueba-) = ( P(Prueba-|NoAgua)·P(NoAgua) ) / P(Prueba-) = (0,9 · 0,4) / 0,42 =0,86 Debemos quedamos con el resultado que refleje más probabilidad. En este caso, es más probable que haya agua.
  • 5. Nota: P(Prueba+|Agua)=0,9, como se dice en el enunciado. Es decir, en los casos que se ha visto que finalmente había agua, la prueba ha acertado en el 90% de esos casos. ¿Qué pasaría si existieran más pruebas para detectar si hay agua? Supongamos que se aplican nuevas pruebas, identificadas como las pruebas 1, 2, 3 y 4. En este caso tendriamos que calcular la probabilidad de que haya agua sabiendo que todas las pruebas han dicho que hay agua. Es decir: P(Agua|P1+,P2+,P3+,P4+). ¿Pero cómo se calcula esto? Tras aplicar el Teorema de Bayes y realizar diversos cálculos que se explican detalladamente en la referencia [2], se llega a la conclusión de que: Si generalizamos, obtenemos la siguiente expresión: Si quisiéramos resolver nuevamente el enunciado anterior, deberíamos de volver a calcular la probabilidad de que haya agua y de que no haya agua, y quedarnos con la mayor. Como siempre nos quedamos con la mayor, podemos añadir un matiz a la fórmula anterior: Fórmula de Naïve Bayes Si volvemos sobre nuestros pasos, podemos apreciar cada hecho (que haya agua y que no haya) como una clase. También nos damos cuenta, que al final siempre nos quedamos con una única clase. Incluyo podemos hacer una correspondencia
  • 6. entre las pruebas de agua y posibles atributos o características de un problema en cuestión. Por tanto, se puede modelar este problema como un problema de clasificación supervisada: dado un nuevo ejemplo, calculamos la probabilidad de que pertenezca a cada clase y nos quedamos con el resultado que emita mayor probabilidad. Un nuevo ejemplo nos aclarará las ideas. Supongamos un típico problema de clasificación en Minería de Datos, donde tenemos unos cuantos ejemplos que queremos clasificar. Cada ejemplo (también llamados instancias), se caracteriza por una serie de atributos. Además como estamos en clasificación supervisada, dichos ejemplos deben estar etiquetados, es decir, se debe definir de qué clase son. Por tanto, tenemos un conjunto de 4 ejemplos con 3 atributos cada uno y 2 posibles clases. Ejemplos Atr. 1 Atr. 2 Atr. 3 Clase x1 1 2 1 positiva x2 2 2 2 positiva x3 1 1 2 negativa x4 2 1 2 negativa Caben destacar dos partes en el algoritmo. La primera es la construcción del modelo, y la segunda clasificar un nuevo ejemplo con dicho modelo: PARTE 1: Crear el modelo. Para ello se necesitan cuatro pasos:
  • 7. 1. Calcular las probabilidades a priori de cada clase. 2. Para cada clase, realizar un recuento de los valores de atributos que toma cada ejemplo. Se debe distribuir cada clase por separado para mayor comodidad y eficiencia del algoritmo. 3. Aplicar la Corrección de Laplace, para que los valores "cero" no den problemas. 4. Normalizar para obtener un rango de valores [0,1]. A continuación se detalla cada paso: Paso 1: Hay varias formas de establecer la probabilidad a priori a cada clase. La más intuitiva es que todas ellas tengan la misma probabilidad, es decir, 1 divido entre el número de clases. Si contamos con la opinión de un experto, puede que éste nos proporciones dichas probabilidades. En este caso, vamos a considerar cada clase equiprobable. Por tanto: P(positivo) = 1/2 = 0,5 P(negativo) = 1/2 = 0,5 Paso 2: Se crea una tabla (un otro contenedor) para cada clase y se hace un recuento de valores: positivo valor 1 valor 2 atr.1 1 1 atr.2 0 2 atr.3 1 1 negativo valor 1 valor 2 atr.1 1 1 atr.2 2 0 atr.3 0 2 Paso 3: Se suma una unidad a cada valor de la tabla anterior.
  • 8. positivo valor 1 valor 2 atr.1 2 2 atr.2 1 3 atr.3 2 2 negativo valor 1 valor 2 atr.1 2 2 atr.2 3 1 atr.3 1 3 Paso 4: Se normalizan todos los valores de la tabla del siguiente modo. Cada celda se divide por la suma de los valores de la fila. Por ejemplo, el valor: "valor 1" del atributo: "atr. 2" se actualiza con: 1 / (1+3) = 0,25. positivo valor 1 valor 2 atr.1 0,5 0,5 atr.2 0,25 0,75 atr.3 0,5 0,5 negativo valor 1 valor 2 atr.1 0,5 0,5 atr.2 0,75 0,25 atr.3 0,25 0,75 PARTE 2: Clasificar un nuevo ejemplo. Por ejemplo, x5 = {1,1,1}. Para ello se necesitan dos pasos: 1. Para cada clase disponible, se determinan los valores de probabilidad de cada valor de los atributos del nuevo ejemplo. 2. Aplicar la fórmula de Naïve Bayes. A continuación se detalla cada paso: Paso 1: En este caso, se para cada tabla escogemos los valores: 1 de cada atributo, es decir, la primera columna de cada tabla, ya que todos los valores del ejemplo x5 son: 1.
  • 9. positivo valor 1 valor 2 atr.1 0,5 0,5 atr.2 0,25 0,75 atr.3 0,5 0,5 negativo valor 1 valor 2 atr.1 0,5 0,5 atr.2 0,75 0,25 atr.3 0,25 0,75 Paso 2: Se aplica la fórmula. Para cada clase se calcula su probabilidad. Recordemos la fórmula: Fórmula de Naïve Bayes Por tanto: P( positivo | x5 ) = 0,5 · ( 0,5 · 0,25 · 0,5 ) = 0,03125 P( negativo | x5 ) = 0,5 · ( 0,5 · 0,75 · 0,25 ) = 0,046875 Como la clase más probable es "negativa", clasificamos el nuevo ejemplo (x5) como negativo. Bayesianos Adaptativo. La red de bayesiano adaptativo (RBA) construye clasificadores de redes bayesianas mediante la longitud mínima de la descripción (LMD) y la selección de características automática. RBA funciona bien en ciertas ocasiones en las que el bayesiano ingenuo no funciona con precisión y funciona, como mínimo, igual de
  • 10. bien en el resto de situaciones, aunque el rendimiento puede ser más lento. El algoritmo RBA proporciona la capacidad de generar tres tipos de modelos avanzados basados en los bayesianos, incluido el árbol de decisión simplificado (mono-característica), el bayesiano ingenuo podado y los modelos multi- característica aumentados. Máquina de Vectores de Soportes (SVM). La máquina de vectores de soporte (SVM) es un algoritmo de clasificación y regresión que utiliza la teoría de aprendizaje de las máquinas para maximizar la precisión de las predicciones sin ajustar excesivamente los datos. SVM utiliza una transformación no lineal opcional de los datos de entrenamiento, seguida de la búsqueda de ecuaciones de regresión en los datos transformados para separar las clases (para objetivos categóricos) o ajustar el objetivo (para los objetivos continuos). La implementación de SVM de Oracle permite que se generen modelos mediante el uso de los dos kernels disponibles: lineal o gaussiano. El kernel lineal omite la transformación no lineal de una vez, de tal forma que el modelo resultante sea, en esencia, un modelo de regresión. Modelos Lineales Generalizados (GLM). Los modelos lineales generalizados relajan los supuestos restrictivos de los modelos lineales. Entre ellos se incluyen, por ejemplo, los supuestos de que la variable objetivo tiene una distribución normal y que el efecto de los predictores de la variable objetivo es lineal por naturaleza. Un modelo lineal generalizado es el adecuado para suposiciones en las que el objetivo es posible que tenga una distribución no normal, como una distribución multinomial o de Poisson. De forma similar, un modelo lineal generalizado es de gran utilidad en los casos en los que es probable que la relación o enlace entre los predictores y objetivo sea no lineal. Un modelo lineal generalizado tiene tres componentes básicos:
  • 11. Componente aleatoria: Identifica la variable respuesta y su distribución de probabilidad. Componente sistemática: Especifica las variables explicativas (independientes o predictoras) utilizadas en la función predictora lineal. Función link: Es una función del valor esperado de Y , E(Y ), como una combinación lineal de las variables predictoras. Árbol de Decisiones. Los árboles de decisión son populares porque su aplicación es universal y sencilla, y son fáciles de comprender. Los árboles de decisión criban a través de cada atributo de entrada potencial en busca del mejor "divisor", es decir, el punto de corte del atributo (por ejemplo, EDAD > 55) que divide los registros de datos posteriores de la ruta en varias poblaciones homogéneas. Tras cada decisión de división, ODM repite el proceso desarrollando el árbol entero y creando "hojas" terminales que representan poblaciones similares de registros, elementos o personas. Al descender desde el nodo raíz del árbol (por ejemplo, la población total), los árboles de decisión proporcionan reglas legibles para los humanos de las instrucciones Si A, entonces B. Estas reglas del árbol de decisión también proporcionan el soporte y la confianza para cada nodo del árbol.
  • 12. O-Conglomerado. El algoritmo O-clúster de Oracle identifica las agrupaciones que se producen de forma natural en una población de datos. La agrupación en clústeres de partición ortogonal (O-clúster) es un algoritmo de agrupación en clústeres propiedad de Oracle que crea un modelo de agrupación en clústeres jerárquica basado en la cuadrícula, es decir, crea particiones de eje paralelo (ortogonal) en el espacio del atributo de entrada. El algoritmo funciona de forma recursiva. La estructura jerárquica resultante representa una cuadrícula irregular que forma un mosaico de clústeres en el espacio del atributo. El algoritmo O-clúster gestiona atributos numéricos y categóricos, y ODM selecciona de forma automática las mejores definiciones de clúster. ODM proporciona información detallada, reglas y valores centroides del clúster, y se puede utilizar para puntuar una población en relación con su pertenencia a un clúster. Los algoritmos de formación de conglomerados se agrupan en dos categorías: · Algoritmos de partición: Método de dividir el conjunto de observaciones en k conglomerados (clusters), en donde k lo define inicialmente el usuario. · Algoritmos jerárquicos: Método que entrega una jerarquía de divisiones del conjunto de elementos en conglomerados. Algoritmo O cluster
  • 13. 1. Cargar el buffer: Si todos los datos no caben en el buffer un ejemplo aleatorio será utilizado. O clúster apunta del buffer inicial a la única partición activa root. 2. Computar histogramas de particiones activas: La meta es computar histogramas a través de las proyecciones unidimensionales ortogonales de cada una de las particiones. 3. Encontrar el mejor punto de separación para las particiones activas: Para cada histograma, O clúster pretende encontrar la mejor zona de corte si existe. Los algoritmos examinan de manera separada los grupos de atributos numéricos y nominales y selecciona el mejor. 4. Banderas ambiguas y particiones congeladas: Si no se encuentran puntos de separación, O clúster revisa si tiene un punto valido de separación a un nivel de menor confidencialidad, si es el caso las particiones se consideran ambiguas. Si no hay ambigüedad y no hay puntos de separación, la partición se considera “congelada”. 5. Particiones de separación activas: Si existe un separador valido, los datos son separados en el lugar del corte, y dos nuevas particiones activas son creadas de la partición original. Regresa al paso 2 6. Recargar el buffer: Este paso se lleva a cabo cuando la partición recursiva del buffer es completada. Si todas las particiones fueron congeladas y no hay más puntos de datos disponibles, el algoritmo termina. Por lo contrario si algunas
  • 14. particiones son marcadas como ambiguas y si existen registros de datos no vistos, O clúster procede con la recarga del buffer de datos. Cuando hay nuevos registros leídos, solo los puntos de los datos que caen del lado de los ambiguos se colocan en el buffer. Los congelados no se agregan y son descartados. La carga de nuevos registros continua si 1) El buffer se llena de nuevo 2) Se alcanza el término del Data-Set o 3) Un número razonable de registros (igual al tamaño del buffer) han sido leídos, aunque el buffer no esté lleno y no haya más datos. La razón para esta última condición es que el buffer es relativamente grande y existen muchos puntos marcados para su borrado, y toma mucho tiempo llenar el buffer con datos de regiones ambiguas. Para evitar la recarga excesiva bajo estas circunstancias, este proceso se termina cuando es del tamaño del buffer. Una vez que la recarga del buffer es completada, el algoritmo procede al paso 2
  • 15.
  • 16. K-Medias. El algoritmo K-medias de Oracle identifica los clústeres que se producen de forma natural en una población de datos. El algoritmo K-medias es un algoritmo de agrupación en clústeres basado en la distancia que divide los datos en un número de clústeres predeterminado (siempre que haya suficientes casos distintos). Los algoritmos basados en la distancia confían en una métrica de distancia (función) para calcular la similitud entre los puntos de datos. Los puntos de datos se asignan al clúster más próximo en función de la métrica de distancia empleada. ODM proporciona una versión mejorada de K-medias. El algoritmo K-medias admite clústeres jerárquicos, trata atributos numéricos y categóricos, y divide la población en el número de clústeres especificado por el usuario. ODM proporciona información detallada, reglas y valores centroides del clúster, y se puede utilizar para puntuar una población en relación con su pertenencia a un clúster. Factorización de matrices no negativas (NMF). La factorización de matrices no negativas (NMF) permite reducir los grandes conjuntos de datos en atributos representativos. Conceptualmente, es similar al análisis de componentes principales (PCA) pero puede gestionar un mayor número de atributos en modelos de representación aditivos; NMF es un algoritmo de minería de datos potente y actual que se puede usar para una amplia variedad de casos. NMF permite reducir grandes cantidades de datos, por ejemplo, datos de texto, en representaciones más pequeñas y dispersas que reducen la dimensionalidad de los datos (se puede conservar la misma información con muchas menos variables). El resultado de los modelos de NMF se puede analizar mediante técnicas de aprendizaje supervisado, como las de SVM, o técnicas de aprendizaje no supervisado, como las técnicas de agrupación en clústeres. Oracle Data Mining utiliza algoritmos NMF y SVM para analizar datos de texto no estructurados.
  • 17. Longitud Minima de la descripcion (LMD). El algoritmo de longitud mínima de descripción de Oracle (MDL) ayuda a identificar los atributos que tienen la mayor influencia en un atributo de destino. A menudo, saber qué atributos son más influyentes lo ayuda a comprender y administrar mejor su negocio y puede ayudar a simplificar las actividades de modelado. Además, estos atributos pueden indicar los tipos de datos que puede desear agregar para aumentar sus modelos. MDL podría usarse, por ejemplo, para encontrar los atributos del proceso más relevantes para predecir la calidad de una pieza fabricada, los factores asociados con la rotación, o los genes más probablemente involucrados en el tratamiento de una enfermedad en particular. Oracle MDL descarta los campos de entrada que considera que no son importantes para predecir el destino. Con los campos de entrada restantes, construye un nugget de modelo sin refinar que está asociado con un modelo de Oracle, visible en Oracle Data Miner. Al explorar el modelo en Oracle Data Miner, se muestra un gráfico que muestra los campos de entrada restantes, ordenados por orden de importancia para predecir el objetivo. La clasificación negativa indica ruido. Los campos de entrada clasificados en cero o menos no contribuyen a la predicción y probablemente deberían eliminarse de los datos. Importancia del atributo de Oracle (AI). El objetivo de la importancia del atributo es descubrir los atributos del conjunto de datos que están relacionados con el resultado y el grado en el que influyen en el resultado final. El nodo Importancia del atributo de Oracle analiza los datos, busca patrones y predice resultados con un nivel de confianza asociado.
  • 18. CONCLUSIONES Nuestra capacidad para almacenar datos ha crecido en los últimos años a velocidades exponenciales. En contrapartida, nuestra capacidad para procesarlos y utilizarlos no ha ido a la par. Por este motivo, el data mining se presenta como una tecnología de apoyo para explorar, analizar, comprender y aplicar el conocimiento obtenido usando grandes volúmenes de datos. Descubrir nuevos caminos que nos ayuden en la identificación de interesantes estructuras en los datos es una de las tareas fundamentales en el data mining. En el ámbito comercial, resulta interesante encontrar patrones ocultos de consumo de los clientes para poder explorar nuevos horizontes. Saber que un vehículo deportivo corre un riesgo de accidente casi igual al de un vehículo normal cuando su dueño tiene un segundo vehículo en casa ayuda a crear nuevas estrategias comerciales para ese grupo de clientes. Asimismo, predecir el comportamiento de un futuro cliente, basándose en los datos históricos de clientes que presentaron el mismo perfil, ayuda a poder retenerlo durante el mayor tiempo posible. Las herramientas comerciales de data mining que existen actualmente en el mercado son variadas y excelentes. Las hay orientadas al estudio del web o al análisis de documentos o de clientes de supermercado, mientras que otras son de uso más general. Su correcta elección depende de la necesidad de la empresa y de los objetivos a corto y largo plazo que pretenda alcanzar. La decisión de seleccionar una solución de data mining no es una tarea simple. Es necesario consultar a expertos en el área con vista a seleccionar la más adecuada para el problema de la empresa. En resumen, el data mining se presenta como una tecnología emergente, con varias ventajas: por un lado, resulta un buen punto de encuentro entre los investigadores y las personas de negocios; por otro, ahorra grandes cantidades de dinero a una empresa y abre nuevas oportunidades de negocios. Además, no hay duda de que trabajar con esta tecnología implica cuidar un sinnúmero de detalles debido a que el producto final involucra "toma de decisiones".