Tema: Mineria de datos.

Anuncio
Tema: Mineria de datos.
Objetivo Especifico
Que el estudiante:
- Aprenda a crear procedimientos para Mineria de datos
Introducción Teórica
La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que
reside de manera implícita en los datos. Dicha información era previamente desconocida y podrá
resultar útil para algún proceso. En otras palabras, la minería de datos prepara, sondea y explora
los datos para sacar la información oculta en ellos.
Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la
extracción de conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado
con la supervisión de procesos industriales ya que resulta muy útil para aprovechar los datos
almacenados en las bases de datos.
Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis
estadístico. Mediante los modelos extraídos utilizando técnicas de minería de datos se aborda la
solución a problemas de predicción, clasificación y segmentación.
Material y Equipo
- Computadora con Oracle 10G XE.
- Guía de Laboratorio.
Procedimiento
Se necesita que para una base de datos comercial podamos crear un Cubo de Información donde
se puedan ver las dimensiones de Producto, Fecha y Tipo de Cliente
Vamos a Generar la Siguiente Base de datos de Ventas Comerciales:
1. Ocupe el Siguiente Codigo para crear la base de datos Transaccional, se crearan las tablas
cliente, productos, ventas y ventas detalle, agregue 10 registros de clientes, 10 registros
de ventas(y agregue 2 registros en ventas detalle por cada registro en ventas) y 5 registros en productos
CREATE TABLE “AC_CLIENTE"
( "ID_CLIENTE" NUMBER NOT NULL ENABLE,
"NOMBRE" VARCHAR2(40 BYTE) NOT NULL ENABLE,
"APELLIDO" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"FECHANAC" DATE NOT NULL ENABLE,
"TIPO_CLIENTE" VARCHAR2(20 BYTE),
CONSTRAINT "AC_CLIENTE_PK" PRIMARY KEY ("ID_CLIENTE")
)
CREATE TABLE “AC_PRODUCTO"
( "ID_PRODUCTO" NUMBER NOT NULL ENABLE,
"NOMBRE" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"PRECIOU" NUMBER DEFAULT 0.0 NOT NULL ENABLE,
CONSTRAINT "AC_PRODUCTO_PK" PRIMARY KEY ("ID_PRODUCTO")
)
CREATE TABLE “AC_VENTAS"
( "ID_CLIENTE" NUMBER NOT NULL ENABLE,
"ID_VENTA" NUMBER NOT NULL ENABLE,
"MONTO" NUMBER NOT NULL ENABLE,
"FECHA" DATE NOT NULL ENABLE,
CONSTRAINT "AC_VENTAS_PK" PRIMARY KEY ("ID_VENTA")
)
CREATE TABLE "AC_VENTAS_DETALLE"
( "ID_VENTAS" NUMBER NOT NULL ENABLE,
"ID_PRODUCTO" NUMBER NOT NULL ENABLE,
"CANTIDAD" NUMBER NOT NULL ENABLE,
"PRECIOU" NUMBER NOT NULL ENABLE,
"SUBTOTAL" NUMBER NOT NULL ENABLE
)
2. Ahora se creara la tabla multidimensional (Datawarehouse) donde se guardaran las
dimensiones que necesitamos evaluar
CREATE TABLE "AC_MULTIDIMENSIONAL"
( "PRODUCTO" VARCHAR2(20 BYTE),
"MONTO_VENTAS" NUMBER DEFAULT 0,
"FECHA" DATE,
"TIPO_CLIENTE" VARCHAR2(20 BYTE)
)
3. Despues crearemos nuestro programa ETL el cual estara guardando los datos a nuestra tabla
multidimensional, como nuestro Datawarehouse esta tambien en Oracle ocuparemos un
procedimiento almacenado
CREATE OR REPLACE PROCEDURE "DMS"."LLENADO_MULTIDIMENSIONAL" AS
BEGIN
insert into ac_multidimensional (producto, fecha, tipo_cliente, monto_ventas)
select t2.nombre, t3.fecha, t1.tipo_cliente,sum(t4.subtotal) from ac_cliente t1 ,
ac_producto t2 ,
ac_ventas t3 , ac_ventas_detalle t4 where
t1.id_cliente= t3.id_cliente and t3.id_venta= t4.id_ventas and t2.id_producto=
t4.id_producto group
by t2.nombre, t3.fecha, t1.tipo_cliente ;
END LLENADO_MULTIDIMENSIONAL;
4. Ejecute el Procedimiento Almacenado para llenar nuestra tabla multidimensional
Se necesita hacer por mes los dias de la semana con mas movimiento de facturacion
5. Se creara la siguiente tabla que contendra nuestra información de movimiento por dia de
semana
CREATE TABLE "AC_MULTI_MINE"
( "MES" VARCHAR2(20 BYTE),
"ANIO" NUMBER,
"DIA" VARCHAR2(20 BYTE),
"MONTO" NUMBER
)
6. Se creara un procedimiento almacenado el cual en base al promedio mensual de ventas por
producto hara
CREATE OR REPLACE PROCEDURE LLENADO_MULTIDIMENSIONAL_MIN AS
BEGIN
insert into ac_multi_mine select to_char(fecha,'MONTH') as MES, to_char(fecha,'YYYY') as
ANIO,
case when to_char(fecha,'D')=7 then 'SABADO' when to_char(fecha,'D')=1 then 'DOMINGO'
when to_char(fecha,'D')=2 then 'LUNES' when to_char(fecha,'D')=3 then 'MARTES' when
to_char(fecha,'D')=4 then 'MIERCOLES' when to_char(fecha,'D')=5 then 'JUEVES' when
to_char(fecha,'D')=6 then 'VIERNES' END as DIA,sum(monto_ventas) as MONTO_VENTAS from
ac_multidimensional group by
to_char(fecha,'MONTH'),to_char(fecha,'YYYY'),to_char(fecha,'D');
END LLENADO_MULTIDIMENSIONAL_MIN;
7. Vaya a Microsoft Excel y en el menu de DATA haga click sobre From Other Sources
8. En el siguiente cuadro de mensajes seleccione “New Data Source”
9. En el siguiente cuadro de opciones, seleccione un nombre seleccione el driver de Oracle “Oracle in
XE”
10. Despues hacer click en Conectar y digitar su service name (XE) y su usuario y clave con el cual se
conecta a su base de datos
11. Seleccionamos la tabla multidimensional que hemos creado
12. Una vez hayamos creado nuestra Conexión, aceptamos el nuevo Datasource creado y en el cuadro
de dialogo seleccionaremos todos los campos de nuestra tabla multidimensional y hacemos click en
siguiente
13. En el cuadro de dialogo de filtros y ordenamiento daremos click en siguiente
14. Cuando estemos en la pantalla de selección del Query Wizard seleccionaremos Cubos OLE
15. Cuando le demos finalizar nos mostrar el cuadro de dialogo de los Cubos OLE
16. En esta opcion se deben de seleccionar todos los campos
17. Cuando finalize el Wizard guarde el cubo con un nombre y vera la siguiente ventana
1. En la siguiente ventana arrastre los campos que selecciono y vea como puede cambiar la
visualizacion de la información
Ejercicio
1. Se necesita que defina cuales son los mejores dias de venta en base al monto de
facturación diario por tipo de producto y edad de las clientes
Descargar