Practica 3

5
Grandes Bases de Datos Profesora Amparo López Gaona Profesor Gerardo Avilés Rosas Ayudante Juan Manuel Rodríguez Martínez Práctica 3 Limpieza e Integración de datos con Knime Introducción El proceso de extracción de conocimiento en bases de datos (KDD por sus siglas en ingles Knowledge Discovery from Databases), se define como el proceso iterativo e interactivo no trivial de identificación de patrones válidos, previamente desconocidos, potencialmente utiles y en última instancia comprensibles a partir de los datos presentes en grandes bases de datos y constituyen un elemento fundamental en las herramientas conceptuales del BI (Bussiness Intelligence). Las fases principales que se identifican el el proceso KDD son las siguientes: 1. Análisis: Consiste en encontrar las fuentes de información que pueden ser utiles y como conseguirlas(En su caso esta fuente debe ser la base de datos de la tienda en PostgreSQL). 2. Diseño Involucra el diseño general de un esquema de un data warehouse donde se consiga unificar todas las fuentes de información anteriormente identificadas. 3. Implementación del almacén de datos. Generación y conformación del data warehouse que permita la consulta y visualización previa de los datos, esto para descubrir cuáles elementos son importantes para estudiar. Cosa importante esta fase termina el proceso de integración. 4. Preparación de datos: Fase que comprende diversas tareas, como la selección, procesado previo, limpieza, reducción y transformación de los datos que se van analizar. 5. Minado de datos: Consiste en seleccionar y aplicar el método de minería de datos apropiado. 6. Evaluación: Engloba tareas como la interpretación, transformación y representación de los patrones extraídos. 7. Presentación: Incluye la creación de reportes. El proceso KDD involucra múltiples iteraciones y constantes ciclos entre las distintas fases.El flujo de datos básico sin presentar iteraciones o ciclos entre las fases se encuentra en la Figura 1.

Transcript of Practica 3

  • Grandes Bases de Datos

    Profesora Amparo Lpez Gaona

    Profesor Gerardo Avils Rosas

    Ayudante Juan Manuel Rodrguez Martnez

    Prctica 3 Limpieza e Integracin de datos con Knime

    Introduccin

    El proceso de extraccin de conocimiento en bases de datos (KDD por sus siglas en ingles Knowledge Discovery from Databases), se define como el proceso iterativo e interactivo no trivial de identificacin de patrones vlidos, previamente desconocidos, potencialmente utiles y en ltima instancia comprensibles a partir de los datos presentes en grandes bases de datos y constituyen un elemento fundamental en las herramientas conceptuales del BI (Bussiness Intelligence).

    Las fases principales que se identifican el el proceso KDD son las siguientes:

    1. Anlisis: Consiste en encontrar las fuentes de informacin que pueden ser utiles y como conseguirlas(En su caso esta fuente debe ser la base de datos de la tienda en PostgreSQL).

    2. Diseo Involucra el diseo general de un esquema de un data warehouse donde se consiga unificar todas las fuentes de informacin anteriormente identificadas.

    3. Implementacin del almacn de datos. Generacin y conformacin del data warehouse que permita la consulta y visualizacin previa de los datos, esto para descubrir cules elementos son importantes para estudiar. Cosa importante esta fase termina el proceso de integracin.

    4. Preparacin de datos: Fase que comprende diversas tareas, como la seleccin, procesado previo, limpieza, reduccin y transformacin de los datos que se van analizar.

    5. Minado de datos: Consiste en seleccionar y aplicar el mtodo de minera de datos apropiado.

    6. Evaluacin: Engloba tareas como la interpretacin, transformacin y representacin de los patrones extrados.

    7. Presentacin: Incluye la creacin de reportes.El proceso KDD involucra mltiples iteraciones y constantes ciclos entre las distintas fases.El flujo de datos bsico sin presentar iteraciones o ciclos entre las fases se encuentra en la Figura 1.

  • Es importante mencionar que mayor parte de los estudios se han hecho en la fase de minera de datos, pero que las dems etapas son muy importantes. Tambin se puede mencionar que si bien el proceso KDD es costoso en la parte de almacenamiento y tiempo de procesado, son las fases de preparacin, limpieza e integracin de datos e implementacin del data warehouse las que consumen mayor cantinda de tiempo y recursos(an ms que las tcnicas de minera de datos).

    No obstante la etapa de preparacin de datos (que engloba la limpieza e integracin de los datos) consume aproximadamente entre el 60% y 80% del tiempo total utilizado durante la extraccin del conocimiento. Dicho fenmeno se presenta debido a:

    1. La enorme cantidad de datos a utilizar. En la actualidad los data warehouses condensa informacin donde los tamaos se encuentran entre los GB(Gigabytes) y los PB(Petabytes).

    2. El manejo de tablas con muchos atributos. La cantidad de columnas o campos se incrementa debido a la conjuncin de distintas fuentes de informacin.

    3. Determinacin de la semntica de los datos.4. La identificacin de elementos errneos.5. La aplicacin de algoritmos de seleccin, limpieza, transformacin y

    reduccin de datos. No todos los algoritmos utilizados presentan complejidad lineal, lo cual impacta de modo directo el los tiempos de ejecucin.

    Knime

  • Knime es una moderna herramienta de anlisis de datos que permite realizar estadisticas sofisticadas y minera de datos en la informacin para analizar tendencias y redecir posibles resultados. El entorno general de Knime incluye el acceso a los datos, limpieza y transformacin, investigacin inicial, anlisis predicitvo y visualizacin.

    KNIME tambin proporciona la capacidad para desarrollar informes basados en la informacin o automatizar la aplicacin de visin de los sistemas de produccin. KNIME de escritorio es de cdigo abierto y disponible bajo licencia GPL. Puede ser ampliado para incluir el apoyo profesional y la funcionalidad de las grandes empresas, ofreciendo lo mejor de ambos mundos.

    La versin bsica KNIME ya incorpora cientos de nodos de procesamiento de datos de E/S, preprocesamiento y limpieza de datos, el modelado, anlisis y minera de datos, as como diversos puntos de vista interactivos, tales como diagramas de dispersin, coordenadas paralelas y otros.

    Se integran todos los mdulos de anlisis de la conocida herramienta de minera de datos Weka y plugins adicionales de R-scripts, que ofrece acceso a una vasta biblioteca de rutinas estadsticas.

    Nodos Utilizados para esta Prctica

  • Esta es una lista de los posibles nodos que vas a necesitar para esta prctica de limpieza de datos sobre un archivo con datos sucios.

    Nodo Categora Descripcin

    File Reader IO Este nodo es utilizado para leer datos desde un archivo.

    Interactive Table Data Views Muestra los datos ledos en un formato de tabla.

    Column Rename Data Manipulation Remplaza el nombre de las columnas y el tipo.

    String Replace Convert & Replace Reemplaza valores celdas de tipo cadena si ellas cazan con un pratrn en especifico.

    String Replace Dictionary

    Convert & Replace Reemplaza las celdas de tipo cadena en una columna seleccionada desde un diccionario.

    Missing Value Transform Este nodo te permite manipular las celdas con values nulos.

    Row Splitter Filter Filtra y divide los registros apartir de una patrn. Genera 2 tablas de salida, aquellas que cumplen el filtro y otra donde se encuentran los que no la cumplen.

    Create Collection Column

    Split & Combine Este nodo agrega multiples columnas en una nueva y separada columna

    Concatenate Transform Concatena 2 tablas.

    Database Writer Database Establece y abre una

  • conexin a una base de datos, donde la tabla ser escrita.

    Objetivo

    El objetivo realizar la limpieza e integracin de un archivo en formato .CSV que contiene datos sucios y despus de haberlos limpiado debes integrarglos en una nueva base de datos de integrain.

    Ejercicios

    1. Crear un proyecto en Knime, donde implemente un flujo que haga la limpieza de los datos sucios contenido en el archivo tiendaWebClientesDW_Sucios.csv que te ser entregado. Cada nodo en el flujo debe contener la descripcin de la tarea que realiza y el por qu se agreg al flujo.

    2. Crear una base de datos tiendaIntegradaXY en postgresql, y crear una tabla llamada DimClientesSi la cual contendr aquellos registros que pudiste limpiar efectivamente. Tambin debes crear una tabla llamada DimClientesNo, la cul debe contener los registros de los clientes los cuales no se pudieron limpiar. Donde X debe ser tu apellido Paterno y Y debe ser tu apellido Materno.

    Forma de Entrega.

    Debes entregar una carpeta en formato .zip | .rar | .tgz , con el siguiente formato ApAmNN donde Ap apellido paterno, Am es apellido materno y NN es el nmero de prctica, dentro debe estar el proyecto en Knime que implemente tu solucin. Donde el nombre del proyecto en Knime debe tener tus apellidos y debes de enviar el backup de tu base de datos que creas en esta practica la cual contiene las dos tablas DimClientesSi y DimClientesNo. El asunto del mensaje debe ser [GBD]PracticaNN y debe ser enviado al correo juan _ cure @ ciencias . unam . mx .