Académique Documents
Professionnel Documents
Culture Documents
MCP.Ing.RicardoMendozaRivera
Page1
MSSQLServer2005ImplementandoDataMining
MCP.Ing.RicardoMendozaRivera
Page2
MSSQLServer2005ImplementandoDataMining
TABLA DE CONTENIDO
Sesin 1 2 3 4 5 6 7 8 9 10 11
Tema Introduccion al Data Mining Data Mining en SQL Server Recuperando Datos Uniendo Mltiples Tablas Sumarizando Datos Implementando Integridad de Datos Modificando Datos Implementando Vistas Implementado Triggers Implementando Stored Procedures y Funciones Implementando Cdigo Administrado
MCP.Ing.RicardoMendozaRivera
Page3
MSSQLServer2005ImplementandoDataMining
Captulo 01
MCP.Ing.RicardoMendozaRivera
Page4
MSSQLServer2005ImplementandoDataMining
Esta sesin incluye los conceptos iniciales del Data Mining y un resumen metodolgico de cmo desarrollarlo. Asi mismo conocer las distintas estructuras y aplicacin que pueden darse.
PlanificacindelaClase
Al finalizar este captulo, el participante aprender a: Describir Microsoft SQL Server. Describir como SQL Server toma ventajas de la Plataforma Windows Determinar los requerimientos mnimos de Hardware en SQL Server 2000 de acuerdo a cada Sistema Operativo. Determinar las opciones de instalacin apropiadas Configurar el SQL Server Enterprise Manager para trabajar con un servidor y otros servidores.
Panorama Actual
"Segmentamos a nuestros clientes usando Data Mining..", "Data Mining incrementa la satisfaccin de nuestros clientes..", "Nuestros competidores estn usando DM para incrementar su cuota de mercado, necesitamos levantarnos! ..". Son algunos de los comentarios en las organizaciones que se pueden percibir. Pero que es el Data Mining? Como esta tecnologa puede resolver los problemas diarios de las organizaciones? Cul es el ciclo de vida de un DM?
Qu es Data Mining?
Data Mining constituye un miembro clave del Business Intelligence (BI) y permite analizar datos, hallando patrones escondidos, de manera automtica o semi-automatica. En lo que va del tiempo muchas empresas han acumulado una gran cantidad de datos en sus bases de datos, el resultado de esta coleccin de datos es que las organizaciones tienen datos ricos pero pobre conocimiento. El propsito principal del DM es extraer de los datos patrones, incrementar su valor intrnseco y transformar la data en conocimiento. Imagine los datos de una tabla relacional, como se muestran en la fig. 1 conteniendo informacin de clientes.
MCP.Ing.RicardoMendozaRivera
Page5
MSSQLServer2005ImplementandoDataMining
Tenebrosa
Nombre Alex Espejo Scrates B. Rossy Vsquez Alejo Pereda Camila Rojas Kathy Len
...
31...40 Alto
31...40 Alto
Dependiente
Fig.1TabladeClientes
Una de las metas a encontrar podra ser: A qu cliente o grupo de clientes le puedo dar un prstamo con un nivel de riesgo Bueno? Podramos escribir una consulta para buscar cuantos con tipo de Empleo dependiente hay y cuantos no. El impacto de la edad seria otra variable a tener en cuenta o tal vez en funcin a su nivel de ingresos o deuda que tena y seguramente tendramos que escribir miles de consultas cuando queramos combinarlas algunas o todas a la vez, imagine si existiera mas columnas a usar y algunas columnas sean valores numricos como los ingresos mensuales de un cliente. En contraste el DM hace un acercamiento ms simple ha esta pregunta. Todo lo que tiene que hacer es seleccionar el Algoritmo correcto de DM y especificar el uso las columnas a usar, el significado de las columnas de entrada y las columnas predictivas. En el caso anterior las columnas: edad, ingresos, tipo de empleo, nivel de deuda serian las de entrada. La columna Riesgo Crdito seria la columna predictiva. Un modelo de decisin de rbol podra ayudarnos a responder esa preguntar, El algoritmo revisa la data y analiza el impacto de cada atributo ingresado
MCP.Ing.RicardoMendozaRivera
Page6
MSSQLServer2005ImplementandoDataMining
rbolesdeDecisin(DecisionTrees)
All Riesgo Crdito = bueno: 3 Riesgo Crdito = malo: 4
Volvamos a la pregunta original A qu cliente o grupo de clientes le puedo dar un prstamo con un nivel de riesgo Bueno? Se imagina llegar a la respuesta de: los clientes con tipo de empleado Dependiente que tengan un nivel de deuda bajo y que tengan ms de 40 aos son los que representan menos riesgo de deuda. El DM proporciona un enorme valor a las organizaciones. En estos tiempos el DM puede implementarse con ms transparencia:
Gran cantidad de data disponible: las organizaciones llegaron a implementar sistemas transaccionales (ventas, almacenes, produccin, personal, contabilidad, etc) y estos en el tiempo han ido almacenando informacin aunado a la baja de los costos de almacenamiento han acumulado grandes volmenes de datos. Alto nivel de competencia: la competencia actualmente es alta como resultado de marketing moderno y canales de distribucin como internet y comunicaciones, as como la participacin de corporaciones nacionales y extranjeras en el mercado. En este 2008 en nuestra ciudad Trujillo estamos siendo testigos de la aparicin de 2 malls con una infraestructura bastante atractiva para los clientes, por mencionar un ejemplo de competencia. Tecnologa Lista: el DM anteriormente era mayormente una solucin de laboratorio, ahora ya es una tecnologa madura y est lista para ser aplicada en las organizaciones. Los algoritmos y el equipamiento existente son ms eficientes para trabajar con data complicada si fuera el caso. Las API del DM estn estandarizndose cada vez mas amplitud y esto permite a los desarrolladores construir aplicaciones
Realidad! Hace poco conversaba con un Gerente de una empresa comercializadora, de gran presencia en el mercado regional y me comentaba entre otras cosas que, sino contara con un sistema de informacin, no
MCP.Ing.RicardoMendozaRivera Page7
MSSQLServer2005ImplementandoDataMining
podra estar competido con estas corporaciones cuenta con gran cantidad de datos y competencia de primera- y que justo haba invertido en un servidor con una configuracin de primera Tecnologa Lista - . Piense la ventaja de conocer la informacin que descubrira un DM Imagine una organizacin de retails en donde identifique los grupos de clientes que adquieren ciertos grupos de productos. En un casino de juegos las personas mayores de 55 de gnero femenino que permanecen 20 minutos jugando prefieren ciertos juegos rentables. Conocer que clientes son los que continuamente cambian de operador. En algunos pases la inversin de un operador telefnica por cliente representa un promedio de 200 dlares, de ah la importancia de retenerlo Conocer el perfil de los clientes que constantemente realizan reclamos en una empresa de servicios. Tener la posibilidad de plantear un conjunto de promociones a un determinado grupo de clientes. Disminuir el riesgo de proporcionar un prstamo a un solicitante en una entidad financiera.
MCP.Ing.RicardoMendozaRivera
Page8
MSSQLServer2005ImplementandoDataMining
Presentacin de conocimiento
Data Mining
OLTP
DATA WAREHOUS
OLAP
Est enfocada en la comprensin de los objetivos del proyecto y exigencias desde una perspectiva de negocio, luego convirtiendo este conocimiento de los
MCP.Ing.RicardoMendozaRivera
Page9
MSSQLServer2005ImplementandoDataMining
datos en la definicin de un problema de minera de datos y en un plan preliminar diseado para alcanzar los objetivos.
El entendimiento de datos comienza con la coleccin de datos inicial y contina con las actividades que le permiten familiarizar primero con los datos, identificar los problemas de calidad de datos, descubrir los primeros conocimientos en los datos, y/o descubrir subconjuntos interesantes para formar hiptesis en cuanto a la informacin oculta.
Esta fase cubre todas las actividades necesarias para construir el conjunto de datos final -los datos que sern provistos en las herramientas de modelado- de los datos en brutos iniciales. Las tareas de preparacin de datos probablemente van a ser realizadas muchas veces y no en cualquier orden prescripto. Las tareas incluyen la seleccin de tablas, registros, y atributos, as como la transformacin y la limpieza de datos para las herramientas que modelan. Normalmente las tareas de ETL de una Data WareHouse podran servir para tener una data consistente.
Modelado (Modeling)
En esta fase, varias tcnicas de modelado son seleccionadas y aplicadas, y sus parmetros son calibrados a valores ptimos. Tpicamente hay varias tcnicas para el mismo tipo de problema de minera de datos. Algunas tcnicas tienen requerimientos especficos sobre la forma de datos. Por lo tanto, volver a la fase de preparacin de datos es a menudo necesario.
Evaluacin (Evaluation)
En esta etapa en el proyecto, usted ha construido un modelo (o modelos) que parece tener la alta calidad de una perspectiva de anlisis de datos.
Antes del proceder al despliegue final del modelo, es importante evaluar a fondo ello y la revisin de los pasos ejecutados para crearlo, para comparar el modelo correctamente obtenido con los objetivos de negocio. Un objetivo clave es determinar si hay alguna cuestin importante de negocio que no ha sido suficientemente considerada. En el final de esta fase, una decisin en el uso de los resultados de minera de datos debera ser obtenida.
Implementar (Deployment)
MCP.Ing.RicardoMendozaRivera Page10
MSSQLServer2005ImplementandoDataMining
La creacin del modelo no es generalmente el final del proyecto. Incluso si el objetivo del modelo es de aumentar el conocimiento de los datos, el conocimiento ganado tendr que ser organizado y presentado en el modo en el que el cliente pueda usarlo. Ello a menudo implica la aplicacin de modelos "vivos" dentro de un proceso de toma de decisiones de una organizacin, por ejemplo, en tiempo real la personalizacin de pgina Web o la repetida obtencin de bases de datos de mercadeo. Dependiendo de los requerimientos, la fase de desarrollo puede ser tan simple como la generacin de un informe o tan compleja como la realizacin repetida de un proceso cruzado de minera de datos a travs de la empresa. En muchos casos, es el cliente, no el analista de datos, quien lleva el paso de desarrollo. Sin embargo, incluso si el analista realizara el esfuerzo de despliegue, esto es importante para el cliente para entender de frente que acciones necesita para ser ejecutadas en orden para hacer uso de los modelos creados actualmente.
MCP.Ing.RicardoMendozaRivera
Page11
MSSQLServer2005ImplementandoDataMining
Captulo 02
MCP.Ing.RicardoMendozaRivera
Page12
MSSQLServer2005ImplementandoDataMining
Esta sesin incluye los conceptos de Data Mining asociados al SQL Server, los diferentes modelos que soporta y los pasos recomendados para su implementacin.
PlanificacindelaClase
Al finalizar este captulo, el participante aprender a: Describir los modelos de Data Mining Modelos Soportados en Microsoft SQL Server.
Tareas y Algoritmos
La magia que genera el Data Mining se origina a partir de 3 campos: Modelos Estadsticos (Aquellos diseados para hallar correlacin de datos como : Naive Bayes y Clustering Maquina de Aprendizaje (Diseados para hallar campos arboles de decisin y redes neuronales) Teora de Base de Datos (procesar largos volmenes de datos) DM puede ser aplicado en diferentes tareas, las mas populares son: asociacin, clasificacin, segmentacin, regresin y pronostico. Para estas tareas se usa el OLE DB para DM (OLEDB/DM).
Arboles De Decisin X
(Segmentacin)
Clustering
Asociacin
Naive Bayes X
Sequence Clustering X X
Redes Neuronales X X
Series de Tiempo
X X
X X X
MSSQLServer2005ImplementandoDataMining
Existen ciertas tareas que pueden ser desarrolladas usando los mismos datos con diferentes algoritmos.
Paso1:DefinirelDominiodeMinado
Iniciar su proyecto de DM obteniendo los requerimientos del negocio, apuntando a tener un objetivo claro de lo que se desea realizar, podemos mencionar: Pronsticos de ventas? Personalizacin de clientes? Anlisis de ventas? Ejemplo: Ejecutar un anlisis de DM para identificar clientes que demandan determinados productos basado en su ubicacin geogrfica para una campana publicitaria va email Una vez definido el objetivo determinar la disponibilidad de la data en estudio que soportarax el modelo. Para ello puede formularse las siguientes preguntas: Que datos de entrada se necesitan? Ejemplo: Genero, ingresos, edad del cliente Page14
MCP.Ing.RicardoMendozaRivera
MSSQLServer2005ImplementandoDataMining
Donde se encuentra la data necesaria? Como puede ser extrada? Recuerde que dentro de los Servicios de Analisis se puede incluir orgenes de BD relacionales o de un cubo UDM.
Paso2:PrepararData
Es posible que la data no se encuentre directamente disponible y requiera del proceso de ETL y cargar la data en el formato deseado. Si este fuera el escenario considere a Integration Services El resultado de este proceso es un esquema de datos relacin o un UDM del cubo. Deber estar seguro de la semntica (significado) de cada columna y su propsito en el negocio. Mientras ms conozca sus datos ms efectiva ser la prediccin.
Paso3:ConstruirelEsquemadeDatos
Es necesario construir un Vista de la Conexin al margen que provengan los datos de una BD Relacional o de un UDM. El resultado final de este paso es la definicin de la estructura del DM la que servir de fundamento para el modelo de DM a implementar.
Paso4:ConstruirunModelo
Empezar por la tabla 2.1 para identificar uno o mas algoritmos que pueden ser usados para ejecutar la tarea de DM. Luego usar el Diseador BI Studio Data MIning para implementar el modelo. Por ejemplo si desea promocionar productos por email el escenario corresponde a la tarea de Clasificacin y el algoritmo a implementar es Arboles de Decisin, Clustering, Sequence Clustering, Naive Bayes y Redes Neuronales. Se recomienda probar con ms de uno y determinar el algoritmo que ms se adapta.
Paso5:ExplorarelModelo
Una vez que el modelo es construido y entrenado, se encuentra listo para se explorado y analizado a fin de obtener los resultados predictivos deseados. Los Servicios de Anlisis proporcionan resultados grficos y de diferentes vistas como podr a apreciar.
Paso6:ValidarModelo
Deber validar la exactitud del modelo que ha construido. Esto es especialmente importante probar con ms de un algoritmo la tarea elegida. Se recomienda trabajar con una data pequea como muestra y evaluar.
Paso7:ImplementarModelo
Una vez ejecutado el paso anterior ahora necesita configurar e implementar el modelo en su servidor de produccin. Deber de configurar accesos a las cuentas del Windows. Una vez implementado el sistema se pueden usar una serie de alternativas para generar reportes para usuarios finales.
CASO DE ESTUDIO.
Imagine que est introduciendo un nuevo producto y el area de Marketing se encuentra planificando una campana para el lanzamiento. Se puede deducir que estas campaas son MCP.Ing.RicardoMendozaRivera Page15
MSSQLServer2005ImplementandoDataMining
costosas ya que se necesita disear, imprimir y entregar correspondencia a sus clientes. Realizar publicidad por TV o Radio es normalmente mas costoso. El aplicar DM podra permitir identificar grupos de clientes y direccionar el marketing, por ejemplo a pblico adulto.
Paso1:DefiniendoelDominiodeMinado
LA empresa en estudio administra alrededor de 15,000 clientes y se debe identificar que grupos de clientes podran demandar este nuevo producto. El dominio del DM a resolver es el ejemplo clsico de una tarea de clasificacin. De acuerdo a la tabla 7.2 existen varios algoritmos, elegiremos un mnimo de dos para identificar el ms apropiado.
Paso2:PrepararData
Nuestro enfoque principal es una Tarea de Campaa orientada al cliente, por lo que necesitaremos los datos de la tabla cliente.
Lastimosamente no existen reglas para determinar que columnas son las que deben participar, pero una buena forma es crear una vista de la conexin (DSV) con los potenciales datos involucrados y usar las opciones de Pivoteo del Analysis Services
Recuerde que el objetivo es identificar clientes potenciales que adquirieron algun producto de MCP.Ing.RicardoMendozaRivera Page16
MSSQLServer2005ImplementandoDataMining
la categora a la que pertenece el producto a ofertar. Para ello usaremos estadsticas de ventas efectuadas.
Paso3:ConstruyendoelEsquemadeDatos
A continuacin presentamos los datos a partir de los cuales se construirn los modelos indicado:
SELECT C.CustomerKey, C.FirstName + ' ' + ISNULL(C.MiddleName + '. ', '') + C.LastName AS FullName, C.MaritalStatus, C.Gender, C.YearlyIncome, C.TotalChildren, C.EnglishEducation, C.NumberCarsOwned, C.CommuteDistance, C.EnglishOccupation, C.HouseOwnerFlag, DATEDIFF(yy, C.BirthDate, GETDATE()) AS Age, CustomerFilter.Subcategory AS ProductCategory FROM DimCustomer AS C INNER JOIN (SELECT C.CustomerKey, PS.EnglishProductSubcategoryName AS Subcategory FROM DimCustomer AS C INNER JOIN FactInternetSales AS S ON C.CustomerKey = S.CustomerKey INNER JOIN DimProduct AS P ON S.ProductKey = P.ProductKey INNER JOIN DimProductSubcategory AS PS ON P.ProductSubcategoryKey = PS.ProductSubcategoryKey WHERE (PS.ProductCategoryKey = 1) GROUP BY C.CustomerKey, PS.EnglishProductSubcategoryName HAVING (COUNT(PS.ProductSubcategoryKey) = 1)) AS CustomerFilter ON C.CustomerKey = CustomerFilter.CustomerKey
Paso4:ConstruyendoelModelo
Empecemos con la construccin del Modelo: Clic derecho sobre : Estructuras de Mineria de Datos
MCP.Ing.RicardoMendozaRivera
Page17
MSSQLServer2005ImplementandoDataMining
Clic en siguiente ya que nuestra informacin se leer directamente desde una tabla relacional. Tcnica de Minera de Datos a aplicar:
Como estamos analizando una Campana de Promocion de un Producto elegiremos una tarea de Clasificacion con el Algoritmo de Microsoft Decision Tree. Vista de origen de datos: seleccione Bike Buyers
MCP.Ing.RicardoMendozaRivera
Page18
MSSQLServer2005ImplementandoDataMining
b Clic next Especificar los datos de entrenamiento: es el momento de definir los datos de entrada y la columna predictiva, recuerde que necesitamos predecir que grupos de clientes adquiriran el producto promocionado. Seleccionar CategoriaProducto como columna Entrada y Columna Predictiva.
MCP.Ing.RicardoMendozaRivera
Page19
MSSQLServer2005ImplementandoDataMining
Luego proceda a marcar las entradas manualmente, pero podra pulsar el botn Sugerir.
MCP.Ing.RicardoMendozaRivera
Page20
MSSQLServer2005ImplementandoDataMining
MCP.Ing.RicardoMendozaRivera
Page21
MSSQLServer2005ImplementandoDataMining
Finalizar!
ConociendoelDataMiningDesigner
Imagine que se quiera tener unicidad en el conjunto de datos de cliente obtenido, donde es posible que un cliente pueda poseer mas de 1 producto. Incluiremos a la clave la categora del producto de la siguiente forma: Seleccin: CustomerKey En propiedades, elija la propiedad: KeyColumns y clic en el botn Agregar la columna: productCategory para crear una llave compuesta por: CustomerKey y ProductCategory Imagine que desea ver el Nombre del cliente en vez de su cdigo. En la propiedad: NameColumn elija: FullName
MCP.Ing.RicardoMendozaRivera
Page22
MSSQLServer2005ImplementandoDataMining
VisualizandoelModelodeMineradeDatos
MCP.Ing.RicardoMendozaRivera
Page23
MSSQLServer2005ImplementandoDataMining
AgregandounNuevoModelodeDM(NaiveBayes)
Haga clic derecho: Nuevo Modelo , digite y elija:
Si apareciera algn mensaje es porque Naive Bayes solo trabaja con valores discretos.
CreandoValoresDiscretos
En el caso de la edad , Nivel de Ingresos es posible que se desee trabajar como valor discreto ya que para el anlisis el nivel de ingresos podra influir en la compra del producto ofertado. Proceder de esta forma o Volver a la ficha: Estructura de DM o Ubicarse sobre la lista de campos, clic derecho : Agregar una nueva columna. Seleccione: Yearly Income Renombre la columna : YearlyIncome 1 como : YearlyIncome Discreto, y click en Yes Cambie la propiedad content a: Discretized Cambie la propiedad: DiscretizationMetohd: Automatic . Luego de ello el servidor agrupar estos cambios en 5 categorias.
MCP.Ing.RicardoMendozaRivera
Page24
MSSQLServer2005ImplementandoDataMining
ImplementandoelModelo
Clic en el botn Procesar de la barra de herramientas
Paso5:ExplorandoelModelo
Haga clic en la ficha: Visor de Modelos de Minera
Interpretando los resultados Como se puede apreciar tenemos una sola variable predictiva la cual constituye la raz del grafico. Por defecto el visor muestra todas las categoras de productos. MCP.Ing.RicardoMendozaRivera Page25
MSSQLServer2005ImplementandoDataMining
Comprendiendo el Grafico de Arboles de Decisin El modelo ha determinado que la variable mas significativa son los Ingresos Anuales (Yearly Income). Mientras ms oscuro sea el recuadro implica que la mayora de casos sucede en el mismo. Comprendiendo la Dependencia de Redes
MCP.Ing.RicardoMendozaRivera
Page26
MSSQLServer2005ImplementandoDataMining
Paso6:ValidandoelModelo
Esto lo haremos en la ficha: Grafico de Precisin de Minera de Datos, para evaluar siga los siguientes pasos:
Especificando las columnas a mapear Clic en Grafico de Precision de Mineria de Datos Clic en: Seleccionar Tabla de Escenarios y seleccione de la tabla de clientes
MCP.Ing.RicardoMendozaRivera
Page27
MSSQLServer2005ImplementandoDataMining
MCP.Ing.RicardoMendozaRivera
Page28
MSSQLServer2005ImplementandoDataMining
Seleccione las columnas que desea ver como parte de la prediccin o CustomerKey hacia el panel inferior:
o o
MCP.Ing.RicardoMendozaRivera
MSSQLServer2005ImplementandoDataMining
o Incluir funcin personalizada de acuerdo a lo siguiente
ViendoResultadosapredecir
Estos son los clientes q
MCP.Ing.RicardoMendozaRivera
Page30