Applied Mathematics">
Fundamentos y Aplicaciones de Mineria de Datos
Fundamentos y Aplicaciones de Mineria de Datos
Fundamentos y Aplicaciones de Mineria de Datos
DUAD
FACULTAD DE CYT
PROGRAMA INGENIERIA EN INFORMATICA
BOGOTA, 2023
ESPACIO ACADEMICO: MINERIA DE DATOS
Introduccion
El logro de competitividad en la producción es una tarea primordial en Business
Intelligence (Inteligencia de Negocios). Para ello, es fundamental desarrollar en el
sistema empresarial una mentalidad innovadora.
En el ámbito de las soluciones de minería de datos, las aplicaciones de análisis conocidas
como OLAP, siglas del inglés On-Line Analytical Processing, son una de las herramientas
más utilizadas por las empresas, ya que han sido creadas en función a bases de
datos multidimensionales que permiten procesar grandes volúmenes de información en
campos bien definidos, y con un acceso inmediato a los datos para su consulta posterior.
Proporcionan a las compañías un sistema confiable para procesar datos que luego serán
utilizados para llevar a cabo análisis e informes que permiten mejorar las operaciones
productivas, tomar decisiones inteligentes y optimizar la competitividad.
Además, dan soporte a las tecnologías de Data Warehouse. En general, estos sistemas
OLAP deben:
Soportar requerimientos complejos de análisis.
Analizar datos desde diferentes perspectivas.
Soportar análisis complejos.
La principal característica de las herramientas de minería de datos OLAP, es que son
entornos especialmente diseñados para la ejecución del análisis multidimensional de los
datos corporativos de cualquier usuario que soportan.
Asimismo, brindan posibilidades de navegación, seleccionando información, permitiendo
el análisis de datos segmentados que permiten ir reduciendo el conjunto de datos que se
han reportado. Este tipo de selecciones se refleja en la visualización de la estructura
multidimensional, mediante unos campos de selección que permiten elegir el nivel de
agregación (jerarquía) de la dimensión, y/o la elección de un dato en concreto.
La información es gestionada y procesada en grandes bloques organizativos, como
pueden ser la estructura geográfica o la académica, llamados dimensiones. Dichas
dimensiones de negocio se estructuran a su vez en distintos niveles de detalle.
En la actualidad, su aplicación se ha extendido hacia todas las áreas empresariales y
otros tipos de organizaciones que analizan volúmenes masivos de datos —incluyendo
medianas empresas, academia, gobierno y demás instituciones públicas y privadas—,
que requieren cada vez más de un análisis dinámico, potente y en línea para tomar
decisiones adecuadas, generando así la demanda de este tipo de software.
Bases de datos
Una base de datos es una colección de datos organizados y estructurados según un
determinado modelo de información que refleja no solo los datos en sí mismos, sino
también las relaciones que existen entre ellos.
Una base de datos se diseña con un propósito específico y es organizada con una lógica
coherente. Los datos podrán ser compartidos por distintos usuarios y aplicaciones, sin
embargo, deben conservar su integridad y seguridad al margen de las interacciones de
ambos. La definición y descripción de los datos deben ser únicas para minimizar la
redundancia y maximizar la independencia en su utilización.
En una base de datos, las entidades y atributos del mundo real se convierten en registros
y campos. Estas entidades pueden ser tanto objetos materiales como libros o fotografías,
pero también personas e incluso conceptos e ideas abstractas. Las entidades poseen
atributos y mantienen relaciones entre ellas. Las bases de datos pueden clasificarse
según las características.
Clasificación de bases de datos
Una base de datos proporciona a los usuarios el acceso a la información, que pueden
visualizar, ingresar o actualizar, en concordancia con los derechos de entrada que se les
haya otorgado.
Una base de datos local puede ser utilizada por un solo usuario en una computadora o
distribuir la información en equipos remotos y acceder a ella a través de una red.
La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a
ellas al mismo tiempo.
Altas/bajas/modificaciones
Consultas rápidas, escuetas y predecibles
Poco volumen de información y disgregada
Transacciones rápidas
Gran nivel de concurrencia
Modo de actualización on-line
Baja redundancia de datos
Algunos ejemplos de este tipo de aplicaciones son:
Compras
Ventas
Inventario
Sueldos
OLTP también se ha utilizado para referirse a la transformación en la que el sistema
responde de inmediato a las peticiones del usuario. Un cajero de un banco es un ejemplo
de una aplicación de procesamiento de transacciones comerciales.
La tecnología OLTP se utiliza en innumerables aplicaciones, como en banca electrónica,
procesamiento de pedidos, comercio electrónico, supermercados o industria.
Diferencias entre un Datawarehouse y un sistema OLTP
Los Data Warehouse y sistemas OLTP (On-Line Transactional Processing) tienen
necesidades muy diferentes. Los siguientes son algunos ejemplos de las diferencias entre
los Data Warehouse típicos y sistemas OLTP:
Carga de trabajo
De antemano, el usuario puede no conocer la carga de trabajo del almacén de datos, por
lo que debe ser optimizado para propiciar un buen desempeño de variedad de posibles
operaciones de consulta. Los sistemas OLTP apoyan las operaciones predefinidas. Sus
aplicaciones pueden ser sintonizadas o diseñadas para soportar estas operaciones
específicamente.
Modificación de datos
Un almacén de datos se actualiza de forma regular por el proceso ETL (Extraer,
transformar, cargar) utilizando técnicas de modificación de la información a granel. Los
usuarios finales de un almacén de datos no se actualizan directamente del almacén.
En sistemas OLTP, los usuarios finales emiten rutinariamente instrucciones de
modificación de información individual a la base de datos. La base de datos OLTP está
siempre al día, y refleja el estado actual de cada transacción comercial.
Diseño del esquema
Los Data Warehouse a menudo usan esquemas que no están normalizados o lo están
parcialmente (como un esquema en estrella) para optimizar el rendimiento de las
consultas.
Los sistemas OLTP suelen utilizar esquemas totalmente normalizados para optimizar y
garantizar la coherencia de datos.
Las operaciones típicas
Una consulta típica de almacenamiento de datos escanea miles o millones de filas. Por
ejemplo, «ubicar las ventas totales para todos los clientes el mes pasado».
Una operación típica OLTP accede solo a un puñado de registros. Por ejemplo,
«recuperar la orden actual para este cliente».
Los datos históricos
Los Data Warehouse suelen almacenar varios meses o años de información. Esto es para
apoyar el análisis histórico.
Los sistemas OLTP suelen almacenar datos de unas pocas semanas o meses. El sistema
OLTP almacena únicamente datos históricos necesarios para afrontar con éxito los
requisitos de la transacción actual.
Además de una base de datos relacional, un Data Warehouse incluye una solución de
extracción, transporte, transformación y carga (ETL), un procesamiento analítico en línea
(OLAP) del motor, herramientas de análisis de clientes y otras aplicaciones que gestionan
el proceso de recopilación de información y la entrega a los usuarios de negocios.
Datamart
Se caracteriza por disponer una estructura óptima de datos para analizar información
desde varias perspectivas que afecten los procesos de dicho departamento. Un Datamart
puede ser alimentado desde los datos de un Datawarehouse o integrar por sí mismo un
compendio de distintas fuentes de información.
Datamart OLAP
Se basan en los cubos OLAP populares, que se construyen según los requisitos de cada
área o departamento, las dimensiones y los indicadores necesarios de cada cubo
relacional. El modo de creación, explotación y mantenimiento de los cubos OLAP es
heterogéneo, en función de la herramienta final que se utilice.
Datamart OLTP
Las bases de datos OLTP pueden basarse en un simple extracto del data warehouse, no
obstante, lo común es introducir mejoras en su rendimiento (los agregados y filtrados
suelen ser las operaciones más usuales), aprovechando las características particulares de
cada área de la empresa.
Las estructuras comunes son las tablas report, que vienen a ser fact-tables reducidas
(que agregan dimensiones oportunas), y las vistas que se construyen con la misma
estructura que las anteriores, aun con el objetivo de explotar la reescritura de consultas
(queries).
Los Datamart dotados con estas estructuras óptimas de análisis presentan las siguientes
ventajas:
Poco volumen de datos
Mayor rapidez de consulta
Consultas SQL sencillas
Validación directa de la información
¿Qué es OLAP?
OLAP, siglas del inglés On Line Analytical Processing, es el acrónimo en inglés de
procesamiento analítico en línea. Es una solución de minería de datos utilizada en el
campo de la inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la
consulta de grandes cantidades de datos. Para ello, utiliza estructuras multidimensionales
(o cubos OLAP) que contienen información resumida de grandes bases de datos. Se usa
en informes de negocios de ventas, marketing, informes de dirección, minería de datos y
áreas similares.
La herramienta utiliza estructuras de datos multidimensionales o cubos OLAP, que son
bases multidimensionales en la cual el almacenamiento físico de la información se realiza
en un vector multidimensional. Los cubos OLAP se pueden considerar como una
ampliación de las 2 dimensiones de una hoja de cálculo, estos contienen información
resumida de grandes bases de datos o Sistemas Transaccionales.
Clasificación y comparación de sistemas OLAP
De acuerdo al funcionamiento y estructura, los sistemas OLAP han sido clasificados en
distintas categorías, como ROLAP, MOLAP, HOLAP. El sistema OLAP más utilizado hoy
en día es el llamado ROLAP. A continuación se describen los distintos Sistemas OLAP.
ROLAP
Significa Procesamiento Analítico en Línea Relacional. Es una herramienta OLAP
construida sobre una base de datos relacionales. En este sistema tiene importancia la
tabla de hechos, donde se almacena la historia de la información relevante para la
empresa que requiere ser estudiada.
En la industria del OLAP, el sistema ROLAP es conocido por ser capaz de escalar
grandes volúmenes de información, pero su rendimiento a la hora de ejecutar consultas
es inestable comparado con otro procedimiento de la industria OLAP, MOLAP.
MOLAP
Significa Procesamiento Analítico Multidimensional en Línea, cuyo sistema guarda los
datos en una matriz multidimensional de almacenamiento y requiere que el procesamiento
y la acumulación de información estén contenidos en el cubo OLAP.
HOLAP
Significa Procesamiento Analítico en Línea Híbrido, es una combinación de los sistemas
ROLAP y MOLAP permitiendo ordenar una parte de los datos en un MOLAP mientras que
el resto lo hace como un ROLAP.
Proceso ETL
Los procesos ETL son una parte de la integración de datos. Son un elemento importante
cuya función completa el resultado de todo el desarrollo de la cohesión de aplicaciones y
sistemas. La palabra ETL corresponde a las siglas en inglés de:
Extraer: extract.
Transformar: transform.
Cargar: load.
Con ello, se puede decir que todo proceso ETL consta precisamente de estas tres fases:
extracción, transformación y carga.
2. CUBO DE DATOS
https://learn.microsoft.com/es-es/system-center/scsm/olap-cubes-
overview?view=sc-sm-2022
Una vez que los datos están en un modelo común, puede manipular la información y tener
definiciones comunes y una taxonomía común para toda la empresa. Puede hacerlo
mediante la implementación de cubos de datos OLAP, desde donde se tiene acceso a la
información a través de herramientas estándar, como hojas electronicas.
Un cubo OLAP es una estructura de datos que supera las limitaciones de las bases de
datos relacionales y proporciona un análisis rápido de datos. Los cubos OLAP pueden
mostrar y sumar grandes cantidades de datos, al mismo tiempo que proporcionan a los
usuarios acceso a los puntos de datos para que los datos se puedan agrupar, segmentar
y desglosar según sea necesario para controlar la mayor variedad de preguntas
relevantes para el área de interés de un usuario.
Las bases de datos que una empresa utiliza para almacenar sus transacciones y registros
se denominan bases de datos de procesamiento de transacciones en línea (OLTP).
Normalmente, estas bases de datos tienen registros que se introducen uno a uno y que
contienen una gran cantidad de información, que los estrategas pueden utilizar para tomar
decisiones fundamentadas sobre sus negocios. Sin embargo, las bases de datos que se
usan para almacenar los datos no se diseñaron para su análisis. Por lo tanto, obtener
respuestas de estas bases de datos es costoso en términos de tiempo y esfuerzo. Las
bases de datos OLAP son bases de datos especializadas, diseñadas para ayudar a
extraer esta información de inteligencia empresarial de los datos.
Los cubos OLAP se pueden considerar como la última pieza del rompecabezas para una
solución de almacenamiento de datos. Un cubo OLAP, también conocido como cubo
multidimensional o hipercubo, es una estructura de datos en SQL que se genera mediante
bases de datos OLAP para permitir el análisis casi instantáneo de datos. La topología de
este sistema se muestra en la siguiente ilustración.
Se relevó una única relación dimensional: venta, que vincula todas las dimensiones
relevadas. La Figura 2 muestra la representación gráfica de la relación dimensional.
3. Base fuente
Actualmente la empresa cuenta con una base de datos fuente con información de
facturación y ventas.
3.1 Tablas
A continuación se describen las tablas que componen la base de datos de producción de
la empresa. Para cada tabla se presentan sus atributos y su clave primaria (atributos
subrayados).
Ø Departamentos (Id depto, Nom depto, Zona)
Contiene información sobre los departamentos de nuestro país. Para cada uno se
guarda (en el orden de los atributos) identificador, nombre y zona.
Ø Ciudades (Id ciudad, Id depto, Nom ciudad, Población, Clasificación)
Contiene información sobre las ciudades o localidades de nuestro país, ya sea que
hay clientes en esa ciudad o no. Para cada una se guarda (en el orden de los
atributos) identificador del departamento en que está, identificador de la ciudad,
nombre de la ciudad, población y clasificación.
Ø Rubros (Id rubro, Nom rubro)
Contiene información sobre los rubros de los clientes (por ejemplo: almacenes,
supermercados). Para cada uno se guarda (en el orden de los atributos)
identificador y nombre.
Ø Clientes (Id cliente, Nombre, Dirección, Teléfono, Ciudad, Departamento, Rubro,
Categoría, Fecha alta)
Contiene información sobre los clientes o empresas a las que se vende. Para cada
uno se guarda (en el orden de los atributos) identificador, nombre, dirección actual,
teléfono, ciudad, departamento, rubro, categoría, y fecha de alta en el sistema.
Ø Facturas (Factura, Fecha, Cliente, Vendedor)
Contiene información sobre las ventas realizadas a los clientes. Cada registro
corresponde a una factura o boleta. Para cada uno se guarda (en el orden de los
atributos) número de factura, fecha, cliente y vendedor.
Ø Registros-Facturas (Factura, Artículo, Importe, Unidades)
Contiene información sobre el detalle de las facturas, es decir, el desgloce por
artículo vendido. Para cada artículo se guarda (en el orden de los atributos)
número de factura, identificador del artículo, importe total y unidades vendidas.
Ø Artículos (Id artículo, Id producto, Id tamaño)
Contiene información sobre los artículos que vende la empresa. Para cada uno se
guarda (en el orden de los atributos) identificador del artículo, identificador de
producto (agrupación de artículos) e identificación del tamaño (clasificación de los
tamaños).
Ø Productos (Id producto, Id familia, Id duracion)
Contiene información sobre los productos de la empresa. Son agrupaciones de
artículos (por ejemplo: un producto puede ser "Salsa portuguesa" y uno de sus
artículos "Salsa portuguesa, lata de 1/2 kg"). Para cada producto se guarda (en el
orden de los atributos) identificador del producto, identificación de la familia
(agrupación de productos) e identificación de la duración (clasificación según su
grado de perecedad).
Ø Códigos (Tipo, Código, Descripción)
Contiene descripciones de códigos utilizadas por el sistema. El campo tipo indica a
qué se refiere el código (se encuentran codigos de artículos, productos, tamaños,
duraciones y familias). El campo código indica el código o identificador, y el campo
descripción una descripción del mismo.
Ø Vendedores (Id vendedor, Nombre, Dirección, Teléfono, Especialidad,
Antigüedad)
Contiene información sobre los vendedores de la empresa. Para cada uno se
guarda (en el orden de los atributos) identificador, nombre, dirección actual,
teléfono, especialidad y antigüedad en la empresa.
Relaciones
.
DESARROLLO DE LA GUÍA
Estructura de la guía
Etapas I
Etapas II
Etapas III
Etapas IV
Etapas V
Ejemplo
Conclusión
Contenidos
Etapa 0 Inicio
Tiene Modelo
Si
Etapa II Validar Modelo Relacional
Etapa I Ingeniería
Inversa
(Gp:) No
(Gp:) Baja
(Gp:) Ingeniería inversa
(Gp:) Perfecta
(Gp:) No hay cambios
(Gp:) Tipo
(Gp:) Solución
Etapa II: Validar el Modelo Relacional
Atributo Integridad De Las Reglas Del Negocio
(Gp:) Faltan Reglas
(Gp:) Verificar Concordancia
(Gp:) Tipo
(Gp:) Estén todas las Reglas
(Gp:) No hay cambios
(Gp:) Solución
Etapa III: Definir el Proceso de Negocio
Identificar Proceso de negocio
Identificar elementos
Formar subesquema
Reconocerlos en el modelo
Paso 1
Paso 2
Paso 3
Paso 4
Etapa IV: Creación Del Modelo Estrella
1. Definir Tabla Hecho
(Gp:) Caso 1
(Gp:) Directamente subesquema
Mediante la utilización
de casos definidos
Caso A
Caso K
Etapa IV: Creación Del Modelo Estrella
Definir Dimensión Tiempo
(Gp:) Caso 1
(Gp:) Hecho contenga datos de tiempo
(Gp:) Caso 2
Integridad de las
reglas de negocio.
No Verificado
Ejemplo
Etapa III: Definir proceso de negocio
Identificar el proceso de negocio
Identificar elementos
Venta de Platos y Tragos
Cliente
Meseros
Mesas
Platos y Tragos
Pagos
Paso 1
Paso 2
Ejemplo
(Gp:) Clasificación
(Gp:) Cliente
(Gp:) Clte_persona
(Gp:) Piso
(Gp:) Zona
(Gp:) Sector
(Gp:) Ubicación_mesa
(Gp:) Mesas
(Gp:) P_T_B
(Gp:) Carta dia
(Gp:) Particular
(Gp:) Meseros
(Gp:) Turno_2
(Gp:) Turno_1
(Gp:) Pagos
(Gp:) Cheque
(Gp:) Efectivo
(Gp:) Cliente
(Gp:) Pagos
Meseros
Ejemplo
Etapa IV: Creación del Modelo Estrella
Venta
1.- Tabla Hecho
Rutcliente
Ciudad cliente
Estado cliente
Direcc cliente
Fono cliente
Email cliente
Diro cliente
Razon soc clte emp
Rubro clte emp
(Gp:) Clasificación
Rutcliente
Ciudad cliente
Estado cliente
Direcc cliente
Fono cliente
Email cliente
Nom clte per
Apellido clte per
Caso B
Caso J
(Gp:) Cliente
Rut cliente
Cod tipo_clte
Ciudad Cliente
Estado Cliente
Dirección Cliente
Fono Cliente
e-mail Cliente
desc tipo clte
(Gp:) Cliente
Rut cliente
Cod tipo_clte
Ciudad Cliente
Estado Cliente
Dirección Cliente
Fono Cliente
e-mail Cliente
desc tipo clte
giro cliente
razón soc clte emp
rubro clte emp
nom clte per
apellido clte per
Ejemplo
Etapa IV: Creación del Modelo Estrella
2.3- Definir Dimensión Tiempo
Dimensión Tiempo
Fecha venta
Ejemplo
Etapa IV: Creación del Modelo Estrella
2.4- Definir las Claves del Hecho
Ventas
Fecha venta
Cod pago
Cod mesa
Cod ubic mesa
Cod PTB
Fecha menu ptb
Rut Mesero
Fecha Turno
Tipo Turno
Tur_fecha turno
Tur_tipo turno
Rut cliente
Ejemplo
Etapa IV: Creación del Modelo Estrella
3.- Definición de las Medidas
Total de Platos y Tragos Vendidos.
Total de PT vendidos.
PT más vendidos.
Clientes más Habituales.
Mesas más solicitadas
(Gp:) Tiempo
Fecha venta
(Gp:) Pagos
Cod pago
Fecha doc vnta
Num bol venta
Doc_fecha doc vnta
Cod fact venta
Num bol egreso
Cod fact egreso
Tipo pago
Fecha pago
Estado pago
Monto doc vnta
Desc doc vnta
Num cheque
titular cheque
Banco chec pago
Fecha plazo cheque
Fecha cobro cheque
(Gp:) Mesas
Cod mesa
Cod ubic mesa
Forma mesa
Material mesa
Desc mesas
Capacidad mesa
Estado mesa
Cod sector_local
Num piso local
Cod zona_local
Fecha inic ubic meza
Fecha term ubic meza
Nom sector local
Desc pizo
Fecha venta
(Gp:) Pagos
Cod mesa
Cod ubic mesa
Capacidad mesa
Estado mesa
Cod sector_local
Num piso local
Cod zona_local
Fecha inic ubic meza
Fecha term ubic meza
Nom sector local
Nom zona local
(Gp:) Platos y tragos
Cod PTB
Fecha menu ptb
Codigo tipo PT
Nom_ptb
Valor ptb
Caract ptb
Costo ptb
Estado ptb
Nombre tipo ptb
Tipo menu ptb
Desc menu dia ptb
(Gp:) Meseros
Rut mesero
Fecha turno
Tipo turno
Tur_fecha turno
Tur_tipo turno
Apellido mesero
Nombre mesero
Fecha nac mesero
Direcc mesero
Fono mesero
Afp mesero
Sistema de salud mesero(EPS)
Num piso local
Cod zona_local
Nom turno
Hora inic turno
Hora term turno
(Gp:) Cliente
Rut mesero
Fecha turno
Tipo turno
Tur_fecha turno
Tur_tipo turno
Apellido mesero
Nom mesero
Fono mesero
Nom turno
Hora inic turno
Hora term turno
(Gp:) Cliente
Rut cliente
Cod tipo_clte
Ciudad Cliente
Estado Cliente
Dirección Cliente
Fono Cliente
e-mail Cliente
desc tipo clte
Ejemplo
Etapa V : Validar Modelo Estrella
(Gp:) Dimensión Meseros
(Gp:) Num piso local
Cod zona_local
Total de PT vendidos.
PT más vendidos.
Clientes más Habituales.
Mesas más solicitadas
(Gp:) Tiempo
Fecha venta
(Gp:) Pagos
Cod pago
Fecha doc vnta
Num bol venta
Doc_fecha doc vnta
Cod fact venta
Cod PTB
Fecha menu ptb
Codigo tipo PT
Nom_ptb
Valor ptb
Caract ptb
Costo ptb
Estado ptb
Nombre tipo ptb
Tipo menu ptb
Desc menu dia ptb
(Gp:) Meseros
Rut mesero
Fecha turno
Tipo turno
Tur_fecha turno
Tur_tipo turno
Apellido mesero
Nom mesero
Fono mesero
Nom turno
Hora inic turno
Hora term turno
(Gp:) Cliente
Rut cliente
Cod tipo_clte
Ciudad Cliente
Estado Cliente
Dirección Cliente
Fono Cliente
e-mail Cliente
desc tipo clte