br topicos avanzados - ac.itdurango.mx20... · topicos avanzados de bases de datos [escribir texto]...
Post on 21-Oct-2018
220 Views
Preview:
TRANSCRIPT
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 1
BR
[Escriba aquí una descripción breve del documento. Una descripción breve es un resumen corto del contenido del documento. Escriba aquí una descripción breve del documento. Una descripción breve es un resumen corto del contenido del documento.]
TOPICOS AVANZADOS DE BASES DE DATOS RESUMEN
2010
BERNAL GARCIA MARIA SUSANA
OSORIO RODRIGUEZ NALLELY
RIVAS VALENZUELA YADIRA GRACIELA
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 2
UNIDAD I “ASPECTOS GENERALES DE
LA MINERÍA DE DATOS”
MINERÍA DE DATOS (DATAMINING),
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.
NOCIONES GENERALES, CONCEPTO Y APLICACIONES
Concepto: Veamos la definición más común de la Minería de datos (Data
Mining).
Es esta: "Una actividad de extracción cuyo objetivo es el de descubrir
hechos contenidos en las bases de datos".
En la mayoría de los casos se refiere a un trabajo automatizado. Si hay
alguna intervención humana a lo largo del proceso, este no es
considerado como minería de datos por parte algunas personas.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 3
La palabra "descubrimiento" está relacionada con el hecho de que mucha
de la información valiosa es desconocida con anterioridad; En todo caso,
estas técnicas pueden ayudar a confirmar cualquier sospecha sobre el
comportamiento del sistema en un particular contexto.
En cuanto a los hechos escondidos, Estos estarán principalmente bajo la
forma de reglas; las cuales nos ayudarán a entender el modelo del sistema
relacionado con los datos observados. Por otra parte, las reglas también
pueden ser usadas en las predicción de ciertos estado del sistema.
Aplicaciones: Algunas de las áreas donde la minería de datos (Data
Mining) ha sido exitosa.
Detección de fraudes: Esta es una aplicación que puede ser considerada
como una técnica de clasificación. En efecto, cuando el algoritmo analiza
una gran cantidad de transacciones, el mismo tratará de categorizar
aquellas que sean ilegítimas mediante la identificación de ciertas
características que estas últimas tengan en común.
Esto puede ser usado en las corporaciones para prevenir que se culmine un
proceso que muestre pertenecer a una "clase" peligrosa
Análisis de riesgos en créditos: Esta es una aplicación similar a la anterior,
pero con la ventaja de de la existencia de maneras tradicionales para
realizarlo. El clásico procedimiento de asignación de puntos puede ser
complementado y mejorado con la ayuda de la minería de datos.
Clasificación de cuerpos celestes: Debido a la gran contribución a estas
tareas por parte del reconocimiento de imágenes y los pre-procesamientos
involucrados, esta aplicación también puede considerarse como
perteneciente al área del reconocimiento de patrones de imágenes
(Pattern Recognition).
Minería de texto: Con billones de páginas en la red, se requieren de nuevas
tecnologías para encontrar, clasificar y detectar particulares patrones en
la información disponible. La esencia de los métodos de la minería de
datos aplicados a los datos numéricos, puede también ser aplicada a
datos de texto.
LA MINERÍA DE DATOS Y EL PROCESO DE DESCUBRIMIENTO DE
CONOCIMIENTO EN BASES DE DATOS
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 4
La Minería de Datos (DM) por las siglas en inglés Data Mining es el proceso
de extraer conocimiento útil y comprensible, previamente desconocido,
desde grandes cantidades de datos almacenados en distintos formatos
[1]. Las herramientas de Data Mining predicen futuras tendencias y
comportamientos, permitiendo en los negocios la toma de decisiones.
Existen términos que se utilizan frecuentemente como sinónimos de la
minería de datos. Uno de ellos se conoce como "análisis (inteligente) de
datos" [2], que suele hacer un mayor hincapié en las técnicas de análisis
estadístico. Otro término muy utilizado, y el mas relacionado con la minería
de datos, es la extracción o "descubrirniento de conocimiento en bases de
datos" (Knowledge Discovery in Databases o KDD, según sus siglas en
inglés). [3]
Aunque algunos autores usan los términos Minería de Datos y KDD
indistintamente, como sinónimos, existen claras diferencias entre los dos. Así
la mayoría de los autores coinciden en referirse al KDD como un proceso
que consta de un conjunto de fases, una de las cuales es la minería de
datos. [2] De acuerdo con esto, el proceso de minería de datos consiste
únicamente en la aplicación de un algoritmo para extraer patrones de
datos y se llamará KDD al proceso completo que incluye pre-
procesamiento, minería y post-procesamiento de los datos.
El KDD según [4] es la extracción automatizada de conocimiento o
patrones interesantes, no triviales, implícitos, previamente desconocidos,
potencialmente útiles y predictivos de la información de grandes Bases de
Datos.
Las investigaciones en temas de KDD incluyen análisis estadístico, técnicas
de representación del conocimiento y visualización de datos, entre otras.
Algunas de las tareas más frecuentes en procesos de KDD son la
clasificación y clustering, el reconocimiento de patrones, las predicciones y
la detección de dependencias o relaciones entre los datos.
FASE DE SELECCIÓN, LIMPIEZA Y TRANSFORMACIÓN.
Limpieza (data cleansing) y criba (selección) de datos: Se deben elmininar
el mayor número posible de datos erróneos o inconsistentes (limpieza) e
irrelevantes (criba). Métodos estadísticos casi exclusivamente.
• histogramas (detección de datos anómalos).
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 5
• selección de datos (muestreo, ya sea verticalmente, eliminando
atributos, u horizontalmente, eliminando tuplas).
• redefinición de atributos (agrupación o separación).
Transformación del Esquema:
Esquema Original:
• Ventajas: Las R.I. se mantienen (no hay que reaprenderlas, no despistan)
• Inconvenientes: Muchas técnicas no se pueden utilizar.
• Tabla Universal: Cualquier Esquema Relacional se puede convertir (en
una correspondencia 1 a 1) a una tabla universal.
• Ventajas: Modelos de aprendizaje más simples (proposicionales).
• Desventajas: Muchísima Redundancia (tamaños ingentes). La
información del esquema se pierde. Muchas dependencias funcionales se
vuelven a re-descubrir!! Se debe añadir metainformación.
• Desnormalizado Tipo Estrella o Copo de Nieve (datamarts):
• Ventajas: Se pueden buscar reglas sobre información sumarizada y si
resultan factibles se pueden comprobar con la información detallada. Con
operadores propios: Roll-up, Drill-down, Slicing and Dicing.
• Desventajas: Orientadas a extraer un tipo de información (granjeros)
Transformación de los Campos:
• Numerización / Etiquetado
• Ventajas: Se reduce espacio. Ej: apellido Þentero. Se pueden utilizar
técnicas más simples.
• Desventajas: Se necesita meta-información para distinguir los datos
inicialmente no numéricos (la cantidad no es relevante) de los inicialmente
numéricos (la cantidad es relevante: precios, unidades, etc.)
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 6
A veces se puede “sesgar” el modelo (biasing).
• Discretización:
• Ventajas: Se reduce espacio. Ej. 0..10 Þ(pequeño, mediano, grande). Se
pueden utilizar árboles de decisión y construir reglas discretas.
• Desventajas: Una mala discretización puede invalidar los resultados.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 7
FASE DE MINERÍA DE DATOS
Patrones a descubrir:
Una vez recogidos los datos de interés, un explorador puede decidir qué
tipo de patrón quiere descubrir.
El tipo de conocimiento que se desea extraer va a marcar claramente la
técnica de minería de datos a utilizar.
Según como sea la búsqueda del conocimiento se puede distinguir entre:
• Directed data mining: se sabe claramente lo que se busca,
generalmente predecir unos ciertos datos o clases.
• Undirected data mining: no se sabe lo que se busca, se trabaja con los
datos
• En el primer caso, algunos sistemas de minería de datos se encargan
generalmente de elegir el algoritmo más idóneo entre los disponibles para
un determinado tipo de patrón a buscar.
FASE DE EVALUACIÓN E INTERPRETACIÓN
La fase anterior produce una o más hipótesis de modelos. Para seleccionar
y validar estos modelos es necesario el uso de criterios de evaluación de
hipótesis.
Por ejemplo:
1ª Fase: Comprobación de la precisión del modelo en un banco de
ejemplos independiente del que se ha utilizado para aprender el modelo.
Se puede elegir el mejor modelo.
2ª Fase: Se puede realizar una experiencia piloto con ese modelo. Por
ejemplo, si el modelo encontrado se quería utilizar para predecir la
respuesta de los clientes a un nuevo producto, se puede enviar un mailing
a un subconjunto de clientes y evaluar la fiabilidad del modelo.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 8
FASE DE DIFUSIÓN, USO Y MONITORIZACIÓN
El despliegue del modelo a veces a veces es trivial pero otras veces
requiere un proceso de implementación o interpretación:
• El modelo puede requerir implementación (p.ej. tiempo real detección
de tarjetas fraudulentas).
• El modelo es descriptivo y requiere interpretación (p.ej. una
caracterización de zonas geográficas según la distribución de los
productos vendidos).
• El modelo puede tener muchos usuarios y necesita difusión: el modelo
puede requerir ser expresado de una manera comprensible para ser
distribuido en la organización (p.ej. las cervezas y los productos congelados
se compran frecuentemente en conjunto Þ ponerlos en estantes distantes).
Los procesos derivan en un mantenimiento:
• Actualización: Un modelo válido puede dejar de serlo: cambio de
contexto (económicos, competencia, fuentes de datos, etc.).
• Monitorización: Consiste en ir revalidando el modelo con cierta
frecuencia sobre nuevos datos, con el objetivo de detectar si el modelo
requiere una actualización.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 9
UNIDAD II “CLASIFICACION”
INTRODUCCIÓN DE ÁRBOLES DE DECISIÓN.
Los árboles de clasificación (también llamados de decisión o de
identificación) constituyen una aproximación radicalmente distinta a todas
las estudiadas hasta el momento. Es uno de los métodos de aprendizaje
inductivo supervisado no paramétrico más utilizado. Como forma de
representación del conocimiento, los árboles de clasificación destacan por
su sencillez. A pesar de que carecen de la expresividad de las redes
semánticas o de la lógica de primer orden, su dominio de aplicación no
está restringido a un ámbito concreto sino que pueden utilizarse en diversas
áreas: diagnóstico médico, juegos, predicción meteorológica, control de
calidad, etc.
Un árbol de clasificación es una forma de representar el conocimiento
obtenido en el proceso de aprendizaje inductivo. Puede verse como la
estructura resultante de la partición recursiva del espacio de
representación a partir del conjunto (numeroso) de prototipos. Esta
partición recursiva se traduce en una organización jerárquica del espacio
de representación que puede modelarse mediante una estructura de tipo
árbol. Cada nodo interior contiene una pregunta sobre un atributo
concreto (con un hijo por cada posible respuesta) y cada nodo hoja se
refiere a una decisión (clasificación).
La clasificación de patrones se realiza en base a una serie de preguntas
sobre los valores de sus atributos, empezado por el nodo raiz y siguiendo el
camino determinado por las respuestas a las preguntas de los nodos
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 10
internos, hasta llegar a un nodo hoja. La etiqueta asignada a esta hoja es
la que se asignará al patrón a clasificar.
Entre los clasificadores basados en árboles descritos en la literatura (ID3,
C4, C4.5, árboles Bayesianos, etc.) estudiaremos CART (acrónimo
de Classification And Regression Trees o árboles de clasificación y
regresión), propuesto por Breiman y otros en [B.1]. Las diferencias
principales entre los distintos algoritmos de construcción de árboles de
decisión radican en las estrategias de poda y en la regla adoptada para
particionar nodos. Así, CART se caracteriza, fundamentalmente, por realizar
particiones binarias y por utilizar una estrategia de poda basda en el
criterio de coste-complejidad. Entre las dos aplicaciones de CART
(clasificación y regresión) nos centraremos exclusivamente en la primera.
La metodología a seguir puede resumirse en dos pasos:
1.
Aprendizaje. Consiste en la construcción del árbol a partir de un
conjunto de prototipos, S. Constituye la fase más compleja y la que
determina el resultado final. A esta fase dedicamos la mayor parte
de nuestra atención.
2.
Clasificación. Consiste en el etiquetado de un patrón, X,
independiente del conjunto de aprendizaje. Se trata de responder a
las preguntas asociadas a los nodos interiores utilizando los valores de
los atributos del patrón X. Este proceso se repite desde el nodo raíz
hasta alcanzar una hoja, siguiendo el camino impuesto por el
resultado de cada evaluación
ÁRBOLES DE DECISIÓN PARA CLASIFICACIÓN
Un árbol de decisión tiene unas entradas las cuales pueden ser un objeto o
una situación descrita por medio de un conjunto de atributos y a partir de
esto devuelve una respuesta la cual en ultimas es una decisión que es
tomada a partir de las entradas.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 11
Los valores que pueden tomar las entradas y las salidas pueden ser valores
discretos o continuos. Se utilizan más los valores discretos por simplicidad,
cuando se utilizan valores discretos en las funciones de una aplicación se
denomina clasificación y cuando se utilizan los continuos se denomina
regresión.
Un árbol de decisión lleva a cabo un test a medida que este se recorre
hacia las hojas para alcanzar así una decisión. El árbol de decisión suele
contener nodos internos, nodos de probabilidad, nodos hojas y arcos. Un
nodo interno contiene un test sobre algún valor de una de las propiedades.
Un nodo de probabilidad indica que debe ocurrir un evento aleatorio de
acuerdo a la naturaleza del problema, este tipo de nodos es redondo, los
demás son cuadrados. Un nodo hoja representa el valor que devolverá el
árbol de decisión. y finalmente la ramas brindan los posibles caminos que
se tienen de acuerdo a la decisión tomada.
ÁRBOLES DE DECISIÓN PARA REGRESIÓN, AGRUPAMIENTO O
ESTIMACIÓN DE PROBABILIDADES
El algoritmo ID3 genera árboles de decisión a partir de a partir de ejemplos
de partida. cls (Hunt, Marin, y Stone, 66) fue el precursor de id3 El tan sólo
utilizaba atributos binarios y tenía heurísticas para decidir qué atributo
escoger.
El algoritmo de ID3 es el siguiente:
1. Seleccionar el atributo Ai que maximice la ganacia, e.d, el que
tenga menor entropia.
2. Crear un nodo para ese atributo, con tanto sucesores como valores
tenga.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 12
3. Introducir los ejemplos en los sucesores según el valor que tenga el
atributo Ai.
4. Por cada sucesor,
SI sólo hay ejemplos de una clase ck
Entonces etiquetarlo con ck
SINO, llamar al id3 con una tabla formada por los ejemplos de ese nodo,
eliminando la columna del atributo Ai
ID3 intenta encontrar el árbol más sencillo que separa mejor los ejemplos.
Para ello utiliza la entropía para elegir o tomar decisines.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 13
CLASIFICACIÓN BAYESIANA.
Es un procedimiento para estimar las probabilidades de situaciones
cuando un estudio o la información de la muestra está disponible. Para
describir el procedimiento, definamos la terminología siguiente y su
notación:
Eventos: normalmente representa un posible evento o situación en el
futuro. Por ejemplo, un estado de naturaleza para el fabricante de decisión
puede ser nivel de la demanda, la opción de consumidor, el ingreso la
condición nivelada, económica, rango de temperatura, actitud personal, y
el gusto. Sea s(i) el estado de naturaleza i y i = 1,..., n.
Probabilidad apriori: representa la posibilidad que un estado de naturaleza
ocurrirá en un sentido general. Representa a menudo, en promedio, la
probabilidad de un estado de naturaleza sin saber cualquier información.
Sea P(s(i)) la probabilidad anterior para el estado de naturaleza s(i).
Estudio o información de la muestra: normalmente es la información extra
que nosotros podemos conseguir si un estudio, o prueba es realizada. Los
resultados de un estudio o muestra pueden ser representados
por indicadores diferentes. Sea I(j) el indicador j del estudio o resultados de
la muestra y j = 1,... ,m.
Probabilidad condicional: representa la posibilidad de un evento particular
dado que otro evento ocurre. En análisis de Bayes o tabla de análisis de
pagos, representa normalmente la probabilidad de un indicador del
estudio (resultado) dado un estado particular de naturaleza. Sea P(I(j)/s(i))
la probabilidad condicional de I(j) dado s(i). La probabilidad condicional
puede ser una indicación de la fiabilidad de la información de la muestra.
Probabilidad marginal (Probabilidad Total): nosotros definimos la
probabilidad marginal como la probabilidad general de un indicador del
estudio I(j), es decir, P(I(j)). Dado P(s(i)) y P(I(j)/s(i)),
P(I(j)) = S P(s(i)) P(I(j)/s(i)) para i =1 a n.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 14
Probabilidad de unión: representa la probabilidad de
que eventos múltiples ocurran simultáneamente. En DA, la probabilidad de
unión de ambos I(j) y s(i) ocurriendo es representado por P(I(j),s(i)), y
P(I(j),s(i)) = P(s(i)) P(I(j)/s(i))
Probabilidad Aposteriori: es una probabilidad condicional que representa
la posibilidad de un estado de naturaleza dada el estudio o resultado de la
muestra. Esto ofrece la probabilidad de lo que pasará si la información
extra muestra una indicación. Sea P(s(i)/I(j)) represente la probabilidad
aposteriori de s(i) dado I(j), entonces
P(s(i)/I(j)) = P(I(j),s(i)) / P(I(j))
ESTIMACIÓN DE PRECISIÓN EN CLASIFICACIÓN.
En la actualidad, existe un crecimiento exponencial en la generación de
datos, este crecimiento de los datos se da en ambas dimensiones: filas y
columnas, lo que provoca que mucha información no pueda ser
procesada y analizada sin un previo procesamiento. El gran tamaño del
conjunto de datos a ser analizado puede causar serios problemas a los
algoritmos de la minería de datos tanto en su escalabilidad como en su
rendimiento. Por otro lado, la calidad de los datos no necesariamente es la
adecuada para un proceso de extracción de conocimiento. Por ello se
hace necesario que los datos sean preprocesados con la finalidad de
adecuarlos a las técnicas existentes y éstas puedan trabajar de manera
eficiente y generar resultados precisos. En esta investigación se proponen
medidas para evaluar la calidad de los datos en el contexto de la
clasificación supervisada. De estas medidas de calidad, se obtienen dos
formas de cuantificar la complejidad de un conjunto de datos con
respecto al problema de clasificación, específicamente, se trata de
anticipar el comportamiento de un algoritmo de clasificación dado un
conjunto de datos. Nuestras propuestas para medir la complejidad de los
conjuntos de datos, es comparada con otras propuestas, mostrando un
rendimiento similar a un menor costo computacional. Para la limpieza de
los datos, se propone una metodología que es independiente de los
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 15
algoritmos de clasificación, y la cual detecta y elimina el ruido en las
clases. Nuestro método de reducción de ruido es comparado con otras
propuestas, mostrando una mayor eficiencia y precisión. En el contexto de
la reducción de la dimensionalidad, se proponen dos métodos eficientes y
precisos de selección de variables. El rendimiento de nuestros dos métodos
son comparados con dos métodos tradicionales de selección de variables:
el RELIEFF y la selección secuencial hacia adelante (SFS) mostrando
resultados comparables, pero con menores costos computacionales.
También, se propone un nuevo algoritmo que mejora la escalabilidad de
los algoritmos de selección de instancias ya existentes. Finalmente, se
integra el proceso de limpieza de los datos, selección de variables
reducción y selección de instancias, a fin de generar un conjunto de
entrenamiento que permita a los algoritmos de la minería de datos trabajar
de manera eficiente y que los resultados sean más precisos.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 16
UNIDAD III “CLUSTERING”
Procesamiento de Datos
Hasta el momento hemos supuesto que los datos que maneja una
aplicación no son tan voluminosos y por lo tanto caben en memoria.
Cuando recurrimos a archivos se debe a la necesidad de conservar datos
después de que termina un programa, por ejemplo para apagar
el computador.
Sin embargo, existen problemas en donde el volumen de datos es tan
grande que es imposible mantenerlos en memoria. Entonces, los datos se
almacenan en un conjunto de archivos, los que forman una base de
datos. Una base de datos es por lo tanto un conjunto de archivos que
almacenan, por ejemplo, datos con respecto al negocio de una empresa.
Cada archivo se forma en base a un conjunto de líneas y cada línea esta
formada por campos de información. Todas las líneas de un mismo archivo
tienen la misma estructura, es decir los mismos campos de información.
Diferentes archivos poseen estructuras distintas, i.e. campos de
información.
Por ejemplo, el archivo de postulantes post.dat, visto en capítulos
anteriores, tiene la siguiente información:
ci: carnet de identidad de la persona.
nombre.
En lo que sigue supondremos que ambos archivos son lo suficientemente
grandes como para que no quepan en la memoria del computador. A
continuación resolveremos eficientemente el problema de generar un
archivo con los tres campos de información, sin colocar previamente el
contenido de un archivo en un arreglo.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 17
Algunas definiciones
Recolección de datos:
Provee un vínculo para obtener la información interoperacionables
racional y las parametrizaciones.
Almacenamiento de datos:
Las unidades de disco de la computadora y otros medios de
almacenamiento externo permiten almacenar los datos a más largo plazo,
manteniéndolos disponibles pero separados del circuito principal hasta que
el microprocesador los necesita. Una computadora dispone también de
otros tipos de almacenamiento.
La memoria de sólo lectura (ROM) es un medio permanente de
almacenamiento de información básica, como las instrucciones de inicio y
losprocedimientos de entrada/salida. Asimismo, una computadora utiliza
varios buffers (áreas reservadas de la memoria) como zonas de
almacenamiento temporal de información específica, como por ejemplo
los caracteres a enviar a la impresora o los caracteres leídos desde el
teclado
Procesamiento de datos:
a. El objetivo es graficar el Procesamiento de Datos, elaborando
un Diagrama que permita identificar las Entradas, Archivos, Programas
y Salidas de cada uno de los Procesos.
b.
c. Su antecedente es el Diagrama de Flujo.
d. Los elementos claves son los Programas.
e. Se confecciona el Diagrama de Procesamiento de Datos
f. Este Diagrama no se podrá elaborar por completo desde un primer
momento ya que depende del Flujo de Información.
g. En este primer paso sólo se identifican las Salidas y Programas. Los
elementos restantes se identifican en forma genérica.
Validación de datos:
Consiste en asegurar la veracidad e integridad de los datos que ingresan a
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 18
un archivo. Existen numerosas técnicas de validación tales como: Digito
verificador, chequeo de tipo, chequeo de rango.
Concepto de Procesamiento Distribuido y Centralizado
Procesamiento Centralizado:
En la década de los años 50’s las computadoras eran máquinas del
tamaño de todo un cuarto con las siguientes características:
• Un CPU
• Pequeña cantidad de RAM
• Dispositivos DC almacenamiento secundario (cintas)
• Dispositivos d salida (perforadoras de tarjetas)
• Dispositivos de entrada (lectores de tarjeta perforada)
Con el paso del tiempo, las computadoras fueron reduciendo su tamaño y
creciendo en sofisticación,
• Aunque la industria continuaba siendo dominada por las computadoras
grandes "mainframes". A medida que la computación evolucionaba, las
computadoras, fueron capaces de manejar aplicaciones múltiples
simultáneamente, convirtiéndose en procesadores centrales "hosts" a los
que se les
Conectaban muchos periféricos y terminales tontas que consistían
solamente de dispositivos de entrada/salida (monitor y teclado) y quizá
poco espacio de almacenamiento, pero que no podían procesar por sí
mismas. Las terminales locales se conectaban con el procesador central a
través de interfaces seriales ordinarias de baja velocidad, mientras que las
terminales remotas se enlazaban con
• El "host" usando módems y líneas telefónicas conmutadas. En
este ambiente, se ofrecían velocidades de transmisión de 1200, 2400, o
9600 bps. Un ambiente como el descrito es lo que se conoce como
procesamiento centralizado en su forma más pura "host/terminal".
Aplicaciones características de este tipo de ambiente son:
• Administración de grandes tuses de datos integradas
• Algoritmos científicos de alta velocidad
• Control de inventarios centralizado
Al continuar la evolución de los "mainframes", estos se comenzaron a
conectar a enlaces de alta velocidad donde algunas tareas relacionadas
con lascomunicaciones se delegaban a otros dispositivos llamados
procesadores comunicaciones "Front End Procesos" (I7EP’s) y controladores
de grupo "Cluster Controllers" (CC’s).
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 19
Procesamiento Distribuido:
El procesamiento centralizado tenía varios inconvenientes, entre los que
podemos mencionar que un número limitado de personas controlaba el
acceso a la información y a los reportes, se requería un grupo muy caro de
desarrolladores de sistemas para crear las aplicaciones, y
los costos demantenimiento y soporte eran extremadamente altos. La
evolución natural de la computación fue en el sentido del procesamiento
distribuido, así las minicomputadoras (a pesar de su nombre siguen siendo
máquinas potentes) empezaron a tomar parte del procesamiento que
tenían los "mainframes".
Ventajas
Existen cuatro ventajas del procesamiento de bases de datos distribuidas.
La primera, puede dar como resultado un mejor rendimiento que el que se
obtiene por un procesamiento centralizado. Los datos pueden colocarse
cerca del punto de su utilización, de forma que el tiempo de
comunicación sea mas corto. Varias computadoras operando en forma
simultánea pueden entregar más volumen de procesamiento que una sola
computadora.
Segundo, los datos duplicados aumentan su confiabilidad. Cuando falla
una computadora, se pueden obtener los datos extraídos de otras
computadoras. Los usuarios no dependen de la disponibilidad de una sola
fuente para sus datos .Una tercera ventaja, es que los sistemas distribuidos
pueden variar su tamaño de un modo más sencillo. Se pueden agregar
computadoras adicionales a la red conforme aumentan el número de
usuarios y su carga de procesamiento. A menudo es más fácil y más barato
agregar una nueva computadora más pequeña que actualizar una
computadora única y centralizada. Después, si la carga de trabajo se
reduce, el tamaño de la red también puede reducirse.
Por último, los sistemas distribuidos se pueden adecuar de una manera más
sencilla a las estructuras de la organización de los usuarios.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 20
Estructura de Datos utilizados en el proceso electrónico de
datos
Arreglos
Son una agrupación de datos homogéneos, es decir, con un mismo tipo
de dato básico asociado. Se almacenan en forma contigua en la memoria
y son referenciados con un nombre común y una posición relativa.
Ejemplos:
Arreglo Lineal (1 dimensión ó vector)
Vista gráfica
[1] [2] [3] [4] [5]
Definición de tipo
Type
Linea: Array [1..5] of TipoBasico;
MiArreglo:Linea;
Arreglo Bidimensional (matriz)
Vista gráfica
[1,1]
[1,2]
[1,3]
[1,4]
[2,1]
[2,2]
[2,3]
[2,4]
[3,1]
Definición de tipo
Type
TipoTabla:Array[1..3,1..4] of TipoBasico;
Var
MiTabla: TipoTabla;
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 21
[3,2]
[3,3]
[3,4]
Pilas o colas Lifo:
Imagina un montón de platos "apilados" o bien fichas de dominó formando
una torre e intenta eliminar una desde el centro, ¿qué ocurre?,
naturalmente esta operación no está permitida si queremos mantener
intactos a los platos o a la torre construida. Por esta razón, una pila se
asocia a una estructura de datos LIFO (LAST IN FIRST OUT). En base a lo
anterior, construye la definición de una PILA y discútela con el profesor.
En general, podemos definir para cada una de las estructuras de datos
una representación estática y otra dinámica según el método de
asignación de memoria utilizado.
Clasificación
a.)Pila estática:
Sin duda tendremos que utilizar arreglos o registros que como ya sabemos
son la base para estructuras de datos más complejas. Considerando la
siguiente figura:
Vista gráfica
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 22
b.)Pila Dinámica:
Sin duda tendremos que utilizar nodos con punteros. Considera la siguiente
figura:
Suponiendo que los punteros que aparecen en la figura son capaces de
apuntar a un nodo y que Dato pertenece a cualquiera de los tipos básicos
o estructurados, la definición de tipo sería:
TYPE
Puntero=^NodoPila;
NodoPila=Record
Info:AlgunTipo;
sgte:Puntero;
End;
Var tope:Puntero;
Un concepto por introducir es el de encapsulamiento, que significa que
una vez definida la estructura e implementadas las operaciones básicas,
uno se remite a utilizarlas sin importar su codificación interna, es decir, las
llamadas a PUSH(pila, x) o POP(pila, y) empilarán a x o desempilarán en y
sin importar cómo lo hagan.
c.)Listas Enlazadas:
Corresponde a una estructura lineal compuesta por una colección de
datos homogéneos con alguna relación entre ellos. Dicha estructura se
crea a través del método dinámico de memoria.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 23
En una lista enlazada el orden de los elementos está determinado por un
campo enlace (puntero) explícito en cada elemento, por ejemplo: pilas y
filas dinámicas.
La representación de lista enlazada es la más óptima debido a que
cualquier proceso de actualización (modificación inserción o eliminación)
se realiza en base a reasignación de punteros. En este capítulo trataremos
sólo con las listas enlazadas ya que las listas secuénciales ya son bien
conocidas por ustedes.
Tipos de Listas Enlazadas
Listas lineales simplemente enlazadas
Listas Circulares
Listas doblemente enlazadas
Listas múltiplemente enlazadas
Árboles
Es una estructura de datos no lineal que posee raíz, ramas y hojas,
técnicamente constituye un grafo finito y sin ciclos. Un árbol define ciertos
niveles jerárquicos precedidos por la raíz (1er. nivel), en donde las hojas
constituyen el nivel más bajo.
Componentes
Raíz: Nodo que constituye la única entrada a la estructura (por ello es
necesario tener un puntero sobre él).
Ramas o Arcos: Conexión entre dos nodos del árbol que representa una
relación de jerarquía.
Hojas: Nodo sin hijos.
Características
Nivel o profundidad de hijos de un nodo cualquiera.
Grado de árbol: Cantidad máxima de hijos posibles de asociar a un nodo
del árbol
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 24
Clasificación
a.)Según Número de Hijos:
b.)Según Estructura de Niveles:
Arbol completo: Es un árbol binario en el cual cada nodo es una hoja o
posee exactamente 2 hijos.
Arbol lleno: Es un árbol binario con hojas en a lo más dos niveles
adyacentes l-1 y l, en las cuales los nodos terminales se encuentran
ubicados en las posiciones de más a la izquierda del árbol.
Si un árbol binario es completo, necesariamente es lleno
c.)Según Funcionalidad:
Árbol binario de búsqueda (ABB)
Árbol binario de expresión
Archivos:
Es una es estructura de datos que reside en memoria secundaria o
almacenamiento permanente (cinta magnética, disco
magnético, disco óptico, disco láser, etc.). La forma de clasificación más
básica se realiza de acuerdo al formato en que residen estos archivos, de
esta forma hablamos de archivos ASCII (de texto) y archivos binarios. En
este capítulo nos centraremos en estos últimos.
Definición archivo binario:}
Estructura de datos permanente compuesto por registros (filas) y éstos a su
vez por campos (columnas). Se caracteriza por tener un tipo de dato
asociado, el cual define su estructura interna.
Definición archivo texto:
Estructura de datos permanente no estructurado formado por una
secuencia de caracteres ASCII.
Tipos de Acceso a los Archivos
a.)Secuencial:
Se accesan uno a uno los registros desde el primero hasta el último o hasta
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 25
aquel que cumpla con cierta condición de búsqueda. Se permite sobre
archivos de Organización secuencial y Secuencial Indexada.
b.)Random:
Se accesan en primera instancia la tabla de índices de manera de
recuperar la dirección de inicio de bloque en donde se encuentra
el registro buscado. (dentro del rea primaria o de overflow). Se permite
para archivos con Organización Sec.Indexada.
c.)Dinámico:
Se accesan en primera instancia la tabla de índices de manera de
recuperar la dirección de inicio de bloque en donde se
encuentra el registro buscado. (dentro del rea primaria o de overflow). Se
permite para archivos con Organización Sec.Indexada.
d.)Directo:
Es aquel que utiliza la función de Hashing para recuperar los registros. Sólo
se permite para archivos con Organización Relativa.
Constantes
Las constantes son similares a una variable pero tienen
un valor determinado que se mantiene igual en toda la ejecución del
programa. El contenido de una variable puede cambiar tantas veces sea
necesario. ¿Porque usar una constante si no puede cambiar de valor?.
Hacemos esto cuando deseamos usar un mismo número o una palabra
(string) varias veces.
UNIDAD IV Minería de Datos
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 26
La minería web trata de descubrir patrones interesantes en la estructura, el
contenido y la utilización de los sitios web. Herramienta imprescindible para
el web máster, todavía tiene, sin embargo, un largo recorrido por delante
en el que la visualización juega un importante papel. 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.
4.1 Minería de uso en la web
Las organizaciones gastan mucho tiempo, esfuerzo y dinero en la creación
de un sitio web; sin embargo muy pocas de ellas prevén realmente el
proceso posterior de gestión, mantenimiento, mejora y explotación del
mismo. La Web es completamente diferente a otros medios de difusión de
información por dos cuestiones fundamentales:
• La Web es anónima. En el proceso tradicional de difusión de información,
es relativamente fácil construir un perfil de audiencia demográfico y
psicográfico. Con la Web, una empresa o un organismo no puede, en
principio, saber mucho sobre sus usuarios porque la mayoría de ellos son
anónimos. Los usuarios entran y salen del sitio web sin otro testigo que la
información recogida por el servidor web. • La Web es interactiva. Muchas
organizaciones o compañías pasan por alto el hecho de que la Web no es
sólo un transmisor de información sino también un receptor. Como mínimo,
un sitio web recibe información de qué páginas han sido visitadas por
cada usuario. Estudiar este tipo de información es lo que se denomina
análisis del tráfico web. Pero se puede extraer más conocimiento del
trasiego de información web realizando estudios exhaustivos del
comportamiento de los usuarios/clientes de la misma, lo que
denominaremos minería de uso de la Web.
Los sitios o portales web, ya estén dedicados al comercio electrónico o a
servir información, necesitan aprender cada día sobre sus clientes/usuarios.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 27
Sólo así se podrán dirigir adecuadamente los esfuerzos de mejora del
servicio, de marketing y del rendimiento del sitio web. Los objetivos que
podemos buscar son:
Vendedores de Productos. Los compradores potenciales deberían:
• Encontrar lo que quieren
• Encontrar productos importantes
• Comprar los productos
Centro Comercial Virtual. Los usuarios o clientes deberían:
• Explorar el centro
• Encontrar productos complementarios al que buscan
• Hacer compras impulsivas
Promotor de producto. Futuros y eventuales compradores deberían:
• Obtener anuncios apropiados
Proveedor de Servicios Públicos. Los usuarios de los servicios deberían:
• Encontrar lo que buscan
• Encontrar servicios complementarios
• Minimizar el tiempo y recursos empleados, es decir, poder acceder a la
información que precisan lo más rápidamente posible El descubrimiento de
patrones de actividad y comportamiento relacionados con la navegación
web requiere el desarrollo de algoritmos de minería de datos capaces de
descubrir patrones de acceso secuencial de ficheros log almacenados en
los servidores.
El análisis de los ficheros históricos de acceso a los servidores y de los datos
de registro de usuario puede proporcionar información valiosa sobre cómo
mejorar la estructura de un sitio web con objeto de crear una presencia
más efectiva y un acceso más eficiente para la organización. Esto se
puede realizar con un doble enfoque:
Intentando detectar cómo son nuestros clientes y, probablemente como
conclusión de lo anterior, personalizando los contenidos o la oferta
realizada al usuario.
La detección de patrones de acceso analiza los ficheros log de la Web
para entender los perfiles de los clientes/usuarios y sus tendencias. Este
análisis puede proporcionar información para una mejor organización de
la información, para personalizar servicios en el futuro, para ubicar más
adecuadamente anuncios o enlaces, etc.
La personalización de servicios analiza las tendencias individuales de cada
visitante
de la Web y modifica dinámicamente la información presentada. Las
páginas ofrecidas, la profundidad de la estructura de la Web y el formato
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 28
de los recursos se pueden adaptar a cada visitante o usuario en cada
momento, según su perfil o patrón de acceso.
Está claro que la personalización de la información ofrecida es la
característica más
atractiva para un visitante de un servidor web, tanto si busca información
como si se encuentra en una tienda virtual: si el cliente está satisfecho
porque el sistema le ha ofrecido algo que le interesa, podemos estar
seguros de que volverá.
Web structure mining (minería de estructura web).
Es el tipo de minería que se encarga de analizar cómo están estructurados
los documentos y como están enlazados. También se puede decir que es
el proceso de inferir conocimiento de la organización del WWW y la
estructura de sus ligas.
4.3 Minería de datos espaciados
La principal diferencia entre la minería de datos relacionales de la DBS, DBS
y en espacial es que los atributos de los vecinos de algún objeto de interés
puede tener una influencia sobre el objeto y que por tanto deben
considerarse. La ubicación y la extensión explicita de los objetos espaciales
definen las relaciones de vecindad espacial implícita que son utilizadas por
los algoritmos de minería de datos espaciales.
4.4 Text mining
El ochenta por ciento de la información de una compañía está
almacenada en forma de documentos.
Usa técnicas como la categorización de texto, el procesamiento de
lenguaje natural, la extracción y recuperación de la información o el
aprendizaje automático, entre otras, apoyan al text mining (minería de
texto).
En ocasiones se confunde el text mining con la recuperación de la
información (Information Retrieval o IR) (Hearst, 1999).
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 29
4.5 Problemas con la información no estructurada
La información no-estructurada la encontramos en fuentes tales como
documentos, el web o las suscripciones a servicios de información y en
formatos muy diversos como texto, videos, audio o imágenes.
Desafortunadamente lo más sencillo y tradicional para los administradores
de información, es su tratamiento para estructurarla en una base de datos,
con lo cual se pierde el contexto de los datos en un documento, por
ejemplo.
El reto para proporcionar mejor calidad de información a los tomadores de
decisiones es la administración de la información no-estructurada y mejorar
los sistemas de búsqueda y recuperación de información, para que éstos
localicen información en diferentes fuentes como bases de datos, el web o
los documentos de la organización.
4.6 Extracción de conocimiento a partir de documentos HTML y texto
A esto se le llama Tratamiento previo de los datos,Se trata de filtrar y limpiar
los datos recogidos. Una vez extraída una determinada información a partir
de un documento, ya sea HTML, XML, texto, ps, PDF, LaTeX, FAQs, ...., se
realizan tareas de criba y normalización, eliminando los datos erróneos o
incompletos, presentando los restantes de manera ordenada y con los
mismos criterios formales hasta conseguir una homogeneidad formal, etc. y
demás labores enfocadas a la obtención de unos datos originales listos
para su transformación por medios automáticos.
4.7 Extracción de información desde XML
Como sabemos para almacenar información en la Web en el cual los
datos son almacenados en XML y mostrados a los usuarios en HTML
(utilizando transformaciones escritas en XSLT). Se argumentó que éste era
un buen enfoque porque permitía tener lo mejor de dos mundos: por una
parte para un computador es más fácil interpretar información escrita en
XML, y por lo tanto es más fácil extraer información desde este formato; y
por otra parte HTML provee de buenas herramientas para desplegar
información en la Web.
Para que el enfoque anterior pueda llevarse a cabo es necesario tener
buenos lenguajes de consulta para XML. Estos lenguajes deben ser
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 30
suficientemente expresivos como para permitir al usuario expresar consultas
generales, y también deben estar acompañados de procedimientos
eficientes para evaluar consultas. En esta sección se va a introducir XPath y
XQuery, los dos lenguajes de consulta más populares para XML. La primera
versión estandarizada de XPath es de 1999 [4]. XPath puede ser
considerado como el lenguaje de consulta más popular para XML, ya que
forma parte de la mayor parte de los lenguajes de consulta para XML y, en
particular, es parte de XQuery [1], como se verá más adelante. XPath
provee una serie de herramientas que permiten navegar un documento
XML, seleccionar elementos desde él y extraerlos para ser desplegados o
usados por otras consultas. Una de las razones de la popularidad de XPath
es que estas herramientas son simples de usar, y son lo suficientemente
expresivas para poder manejar muchas de las consultas que los usuarios
tienen en la práctica. Además, la estructura simple de este lenguaje ha
permitido el desarrollo de procedimientos eficientes para evaluar
consultas.
La mejor manera de entender XPath es a través de algunos ejemplos.
Suponga que se está utilizando el documento XML con información sobre
libros descrito en la sección 6.1, y que se ha utilizado repetidas veces en
este capítulo. Si un usuario quiere extraer el nombre de la librería, entonces
puede utilizar la siguiente consulta XPath:
child/?nombre/text()
Esencialmente una consulta en XPath consiste de un camino, y su
respuesta es el conjunto de todos los elementos que pueden ser
alcanzados en un documento XML, siguiendo el camino desde el primer
elemento de este documento. En una consulta XPath se pueden utilizar
palabras que tienen un significado reservado (child y text() en el ejemplo)
o palabras cuyo significado está dado por un documento (nombre en el
ejemplo). Además, en una expresión XPath se puede utilizar el símbolo ?
para indicar que se quiere chequear una condición. En el ejemplo, la
palabra reservada child es utilizada para pasar de un elemento a sus hijos y
?nombre indica que sólo se va a considerar los elementos con marcador
<nombre>. De esta forma, utilizando la expresión child en el ejemplo se
pasa de un elemento con marcador <libreria> a los que tiene marcadores
<nombre> y <titulo>, y luego utilizando el test ?nombre se selecciona el
único elemento con marcador <nombre> hijo del elemento con marcador
<libreria>. Finalmente se utiliza text() para extraer el texto almacenado
dentro del elemento con marcador <nombre>, vale decir, Todo Libros. Es
importante destacar que para simplificar la presentación del lenguaje
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 31
XPath, no se está usando aquí la sintaxis de XPath definida en [4], sino que
una versión simplificada (pero que refleja la forma en que trabaja XPath).
Suponga ahora que se quiere extraer la lista de apellidos de todos los
autores de libros. Para hacer esto, se puede utilizar la siguiente consulta:
descendant/?apellido/text()
La mayor diferencia con la consulta anterior es la utilización de la palabra
reservada descendant, la cuál indica que se debe utilizar a los
descendientes del primer elemento del documento, vale decir, a los
elementos que son alcanzables utilizando los caminos child, child/child,
child/ child/child, etc. Nótese que esta consulta funciona incluso en casos
en que la información sobre autores es dada de manera menos
estructurada:
...
<primer_autor>
<nombre>Martin</nombre>
<apellido>Osborne</apellido>
</primer_autor>
<segundo_autor>
<nombre>Ariel</nombre>
<apellido>Rubinstein</apellido>
</segundo_autor>
...
En general, se considera una ventaja de XPath el que pueda funcionar
sobre información semi-estructurada, ya que en la práctica la estructura
de muchos documentos XML es irregular. En este punto, el lector
probablemente se ha dado cuenta de que la consulta anterior puede
funcionar de manera incorrecta si el documento no sólo contiene apellidos
de autores (por ejemplo, contiene los apellidos de la gente que trabaja en
la librería). En ese caso se puede utilizar la consulta
descendant/?libro/descendant/?apellido/text() que busca apellidos que
aparezcan dentro de elementos con marcador <libro>.
Una de las limitaciones de XPath es la falta de herramientas para
estructurar la información que se extrae; una consulta en XPath retorna un
conjunto de elementos y no un documento XML. XQuery es un lenguaje
más completo, que usa XPath para navegar documentos XML y tiene
herramientas para estructurar la información extraída como un documento
XML [1]. En el siguiente ejemplo se muestra una consulta XQuery:
let $lib := doc("libreria.xml")
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 32
return
<lista>
{
for $x in $bib/child/?libro
for $y in $x/descendant/?apellido
where $y/text() = Rubinstein
return
<libro>
{
<titulo> $x/descendant/?titulo/text() </titulo>
<precio> $x/descendant/?precio/text() </precio>
}
</libro>
}
</lista>
Al igual que para el caso de XPath, en una consulta XQuery pueden
aparecer elementos que tienen un significado predefinido y otros que
deben ser interpretados en un documento XML. En la consulta anterior, let
es utilizado para indicar que la variable $lib está ligada al documento
libreria.xml (una variable en XQuery comienza con el símbolo $). Además,
en esta consulta for es usado para indicar que una variable debe tomar
todos los valores alcanzados al utilizar un camino en XPath. Por ejemplo, for
$x in $bib/child/?libro indica que $x va a tomar como valor los elementos
con marcador <libro> que son hijos del primer elemento del documento.
Nótese que al igual que en un lenguaje de programación, las instrucciones
que utilizan for pueden aparecer anidadas. En la consulta anterior, where
es usado para chequear una condición y return para indicar que algo
debe estar en la salida de la consulta. Así, por ejemplo, en la condición
where $y/text() = Rubinstein se chequea que el apellido del autor que se
va a utilizar sea Rubinstein. Es importante destacar que en una consulta
XQuery se puede indicar cómo se va a estructurar la respuesta colocando
marcadores XML. En el ejemplo, <lista> es el marcador del primer elemento
del documento de salida, y contiene como hijos una serie de libros con
marcador <libro>.
Seguramente el lector ya se ha dado cuenta que la consulta anterior
retorna la lista de libros escritos por Rubinstein con sus precios. Esta es una
de las consultas que se planteó al principio de este capítulo, y para las
cuales no era claro cómo responderlas si la información era almacenada
en documentos HTML. Como se muestra en el ejemplo, si la información se
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 33
almacena en formato XML, una simple consulta en XQuery puede bastar
para extraer la información deseada. Incluso en el caso de la consulta más
compleja vista al comienzo de este capítulo (“dé la lista de libros de
Rubinstein que han bajado de precio en los últimos años”), una consulta en XQuery puede ser usada para extraer la información deseada.
UNIDAD V
5.1 Claves del éxito de un programa de minería de datos
Para poder implantar con éxito un programa de Minería de Datos para recuperar información hay que tener en cuenta una serie de factores clave:
1. Especificar claramente los problemas y objetivos de la organización. De esta forma se pueden conocer los datos necesarios para poder elaborar dicha Minería de Datos para recuperar información
2. Trasladar correctamente los objetivos de la organización a los objetivos propiamente de la Minería de Datos para recuperar información. Si ambos objetivos se corresponden, esto indica que la Minería de Datos para recuperar información se está llevando a cabo de forma adecuada
3. La integración del resto de los programas con la organización en la cual se va a llevar a cabo la Minería de Datos para recuperar información
4. La calidad de los datos es esencial
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 34
5. Uso de herramientas integradas y entornos amigables, destacando principalmente la informatización del proceso en todos los niveles, principalmente la comunicación entre los miembros del grupo en el cual se va a instalar la Minería de Datos para recuperar información, como en la documentación que va a ser generada
6. Necesidad de que los componentes del grupo de la propia organización en la que se va a implantar la Minería de Datos para recuperar información, esté formada en disciplinas que integren la propia Minería de Datos para recuperar información como en estadística, por ejemplo
7. Evaluación de los modelos holísticos relativos a la implantación de la toma de decisiones en la organización en materia de Minería de Datos para recuperar información
5.2 ¿Cuándo empezar? Necesidades y objetivos de negocio El plan o proyecto de negocios consiste en un documento en donde señalamos y explicamos la idea del negocio que queremos crear, los factores que han motivado dicha idea y las razones por las que pensamos que vamos a tener éxito, las necesidades que se van a satisfacer, nuestras proyecciones o presupuestos, los objetivos del negocios y las estrategias que vamos a utilizar para alcanzar dichos objetivos.
El plan de negocio nos servirá como modelo o guía para implementar y administrar nuestro negocio, por ejemplo, nos servirá:
como instrumento de planeación: permitiéndonos planificar objetivos, el uso de recursos, estrategias y cursos o pasos a seguir; y, de ese modo, reducir la incertidumbre y minimizar los riesgos.
como instrumento de coordinación: sirviéndonos como guía para poder coordinar actividades, por ejemplo, al determinar quiénes serán los encargados de realizar determinadas tareas.
como instrumento de control y de evaluación: permitiéndonos comparar los resultados obtenidos con los planificados, es decir, permitiéndonos saber si realmente estamos logrando los objetivos previstos para que, en caso contrario, poder tomar las medidas correctivas.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 35
5.4 Formulación del programa: fases e implantación
Los pasos a seguir para la realización de un proyecto de minería de datos son siempre los mismos, independientemente de la técnica específica de extracción de conocimiento usada.
El proceso de minería de datos se compone de las siguientes fases:
Selección y preprocesado de datos
El formato de los datos contenidos en la fuente de datos (base de datos, Data Warehouse...) nunca es el idóneo y la mayoría de las veces no es posible ni siquiera utilizar ningún algoritmo de minería sobre los datos "en bruto". Mediante el preprocesado se filtran los datos (de forma que se eliminan valores incorrectos, no válidos, desconocidos... según las necesidades y el algoritmo que va a usarse), se obtienen muestras de los mismos (en busca de una mayor velocidad de respuesta del proceso), o se reduce el número de valores posibles (mediante redondeo, clustering...).
Selección de variables
Aún después de haber sido preprocesados, en la mayoría de los casos se tiene una cantidad ingente de datos. La selección de características reduce el tamaño de los datos eligiendo las variables más influyentes en el problema, sin apenas sacrificar la calidad del modelo de conocimiento obtenido del proceso de minería.
Los métodos para la selección de características son básicamente dos:
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 36
1. Aquellos basados en la elección de los mejores atributos del problema
2. Y aquellos que buscan variables independientes mediante tests de sensibilidad, algoritmos de distancia o heurísticos
Extracción de conocimiento
Mediante una técnica de minería de datos, se obtiene un modelo de conocimiento, que representa patrones de comportamiento observados en los valores de las variables del problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado diferente de los datos.
Interpretación y evaluación
Una vez obtenido el modelo, se debe proceder a su validación comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.
5.5 El modelo y guía de referencia CRISP-DM
CRISP–DM es la guía de referencia más ampliamente utilizada en el desarrollo de proyectos de Data Mining. Los orígenes de CRISP-DM, se remontan hacia el año 1999 cuando un importante consorcio de empresas europeas tales como NCR (Dinamarca), AG(Alemania), SPSS (Inglaterra), OHRA (Holanda), Teradata, SPSS, y Daimer-Chrysler, proponen a partir de diferentes versiones de KDD (Knowledge Discovery in Databases) [Reinartz, 1995], [Adraans, 1996], [Brachman,1996], [Fayyad, 1996], el desarrollo de una guía de referencia de libre distribución denominada CRISP-DM (Cross Industry Standard Process for Data Mining). CRISP-DM, está dividida en 4 niveles de abstracción organizados de forma jerárquica en tareas que van desde el nivel más general, hasta los casos más específicos y organiza el desarrollo de un proyecto de Data Mining, en una serie de seis fases como se muestra a continuación:
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 37
La sucesión de fases no es necesariamente rígida. Cada fase es estructurada en varias tareas generales de segundo nivel. Las tareas generales se proyectan a tareas específicas, donde finalmente se describen las acciones que deben ser desarrolladas para situaciones específicas, pero en ningún momento se propone como realizarlas.
Modelo de proceso CRISP–DM
A continuación se describen cada una de las fases en que se divide CRISP-DM. 1. Fase de comprensión del negocio o problema La primera fase de la guía de referencia CRISP-DM, denominada fase de comprensión del negocio o problema (figura 2.6), es probablemente la más
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 38
importante y aglutina las tareas de comprensión de los objetivos y requisitos del proyecto desde una perspectiva empresarial o institucional, con el fin de convertirlos en objetivos técnicos y en un plan de proyecto. Sin lograr comprender dichos objetivos, ningún algoritmo por muy sofisticado que sea, permitirá obtener resultados fiables. Para obtener el mejor provecho de Data Mining, es necesario entender de la manera más completa el problema que se desea resolver, esto permitirá recolectar los datos correctos e interpretar correctamente los resultados. En esta fase, es muy importante la capacidad de poder convertir el conocimiento adquirido del negocio, en un problema de Data Mining y en un plan preliminar cuya meta sea el alcanzar los objetivos del negocio. 2. Fase de comprensión de los datos La segunda fase de comprensión de los datos, comprende la recolección inicial de datos, con el objetivo de establecer un primer contacto con el problema, familiarizándose con ellos, identificar su calidad y establecer las relaciones más evidentes que permitan definir las primeras hipótesis. Esta fase junto a las próximas dos fases, son las que demandan el mayor esfuerzo y tiempo en un proyecto de DM. Por lo general si la organización cuenta con una base de datos corporativa, es deseable crear una nueva base de datos ad-hoc al proyecto de DM, pues durante el desarrollo del proyecto, es posible que se generen frecuentes y abundantes accesos a la base de datos a objeto de realizar consultas y probablemente modificaciones, lo cual podría generar muchos problemas. 3. Fase de preparación de los datos En esta fase y una vez efectuada la recolección inicial de datos, se procede a su preparación para adaptarlos a las técnicas de Data Mining que se utilicen posteriormente, tales como técnicas de visualización de datos, de búsqueda de relaciones entre variables u otras medidas para exploración de los datos. La preparación de datos incluye las tareas generales de selección de datos a los que se va a aplicar una determinada técnica de modelado, limpieza de datos, generación de variables adicionales, integración de diferentes orígenes de datos y cambios de formato. Esta fase se encuentra relacionada con la fase de modelado, puesto que en función de la técnica de modelado elegida, los datos requieren ser procesados de diferentes formas.
4. Fase de modelado En esta fase de CRISP-DM, se seleccionan las técnicas de modelado más apropiadas para el proyecto de Data Mining específico. Las técnicas a utilizar en esta fase se eligen en función de los siguientes criterios:
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 39
- Ser apropiada al problema. - Disponer de datos adecuados. - Cumplir los requisitos del problema. - Tiempo adecuado para obtener un modelo. - Conocimiento de la técnica.
5. Fase de evaluación En esta fase se evalúa el modelo, teniendo en cuenta el cumplimiento de los criterios de éxito del problema. Debe considerarse además, que la fiabilidad calculada para el modelo se aplica solamente para los datos sobre los que se realizó el análisis. Es preciso revisar el proceso, teniendo en cuenta los resultados obtenidos, para poder repetir algún paso anterior, en el que se haya posiblemente cometido algún error. Considerar que se pueden emplear múltiples herramientas para la interpretación de los resultados. Las tareas involucradas en esta fase del proceso son las siguientes: 6. Fase de implementación En esta fase, y una vez que el modelo ha sido construido y validado, se transforma el conocimiento obtenido en acciones dentro del proceso de negocio, ya sea que el analista recomiende acciones basadas en la observación del modelo y sus resultados, ya sea aplicando el modelo a diferentes conjuntos de datos o como parte del proceso, como por ejemplo, en análisis de riesgo crediticio, detección de fraudes, etc. Generalmente un proyecto de Data Mining no concluye en la implantación del modelo, pues se deben documentar y presentar los resultados de manera comprensible para el usuario, con el objetivo de lograr un incremento del conocimiento. Por otra parte, en la fase de explotación se debe asegurar el mantenimiento de la aplicación y la posible difusión de los resultados. 5.6 Implantación progresiva. Ciclo de vida en espiral
Propuesto inicialmente por Boehm en 1988. Consiste en una serie de ciclos que se repiten. Cada uno tiene las mismas fases y cuando termina da un producto ampliado con respecto al ciclo anterior. En este sentido es parecido al modelo incremental, la diferencia importante es que tiene en cuenta el concepto de riesgo. Un riesgo puede ser muchas cosas: requisitos no comprendidos, mal diseño, errores en la implementación, etc.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 40
En cada iteración Boehm recomienda recopilar la siguiente lista de informaciones:
Objetivos: Se hacen entrevistas a los clientes, se les hace rellenar cuestionarios, etc.
Alternativas: Son las diferentes formas posibles de conseguir los objetivos. Se consideran desde dos puntos de vista
o Características del producto. o Formas de gestionar el proyecto.
Restricciones: o Desde el punto de vista del producto: Interfaces de tal o cual manera,
rendimiento, etc. o Desde el punto de vista organizativo: Coste, tiempo, personal, etc.
Riesgos: Lista de riesgos identificados. Resolución de riesgos: La técnica más usada es la construcción de
prototipos. Resultados: Son lo que realmente ha ocurrido después de la resolución de
riesgos. Planes: Lo que se va a hacer en la siguiente fase. Compromiso: Decisiones de gestión sobre como continuar.
Al terminar una iteración se comprueba que lo que se ha hecho efectivamente cumple con los requisitos establecidos, también se verifica que funciona correctamente. El propio cliente evalúa el producto. No existe una diferencia muy clara entre cuando termina el proyecto y cuando empieza la fase de mantenimiento. Cuando hay que hacer un cambio, este puede consistir en un nuevo ciclo.
Ventajas
No necesita una definición completa de los requisitos para empezar a funcionar.
Al entregar productos desde el final de la primera iteración es más fácil validar los requisitos.
El riesgo en general es menor, porque si todo se hace mal, solo se ha perdido el tiempo y recursos invertidos en una iteración (las anteriores iteraciones están bien).
El riesgo de sufrir retrasos es menor, ya que al identificar los problemas en etapas tempranas hay tiempo de subsanarlos.
Inconvenientes
Es difícil evaluar los riesgos. Necesita de la participación continua por parte del cliente.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 41
Cuando se subcontrata hay que producir previamente una especificación completa de lo que se necesita, y esto lleva tiempo.
Es adecuado en:
Sistemas de gran tamaño. Proyectos donde sea importante el factor riesgo. Cuando no sea posible definir al principio todos los requisitos.
UNIDAD VI SMBD Y TECNOLOGÍA WEB
La web está conectando las fuentes de datos a una velocidad
fantástica. Muchas fuentes de datos, incluidos los sistemas DBMS que antes
eran inaccesibles y son de sólo escritura o pronto podría convertirse en
accesible. Hay un aumento de incentivos en las empresas para que la
información disponible no más justo dentro de la organización, sino a los
clientes también.
Uso de tecnología de BD para aplicaciones con interfaces en la WEB
Cuando se utiliza una interfaz para lograr la integración del Web con cierta
base de datos, se puede verificar que los procesos seguidos varían,
dependiendo de la tecnología que se esté utilizando.
Entre estas tecnologías se tienen las siguientes:
6.1.1 (MySql,Sybase,SQL Server)
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 42
MySQL es un sistema de gestión de base de
datos relacional, multihilo y multiusuario con más de seis millones de
instalaciones. MySQL AB —desde enero de 2008una subsidiaria de Sun
Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009—
desarrolla MySQL como software libre en un esquema de licenciamiento
dual.
Sybase Inc. fue una compañía dedicada al desarrollo de tecnología de la
información. Fue fundada en Berkeley, California, en 1984, y operó como
empresa independiente hasta su compra por parte de SAP en mayo de
2010 por 4.567 millones de euros.1
Microsoft SQL Server es un sistema para la gestión de bases de
datos producido por Microsoft basado en el modelo relacional. Sus
lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL
Server constituye la alternativa de Microsoft a otros potentes sistemas
gestores de bases de datos como son Oracle, Sybase
ASE,PostgreSQL, Interbase, Firebird o MySQL.
6.2 Herramientas libres y propietarias para desarrollo de aplicaciones WEB
Estas aplicaciones son las más famosas, ya que ofrecen un servicio de
calidad y de gran ayuda para la elaboración de bases de datos.
6.2.1 ASP, PHP, Java JSP, NET
Java ofrece un ambiente de programación muy sencillo, robusto,
dinámico, de propósito general, orientado a objetos y múltiples
plataformas, creado por Sun MicroSystems.
Es tanto un compilador como un lenguaje intérprete. El código fuente de
Java es convertido en instrucciones binarias simples, y compilado con un
formato universal.
El Compilador realiza todas las actividades de un procesador real en un
ambiente virtual más seguro. Es decir, ejecuta instrucciones, crea y
manipula información, carga y hace referencia a bloques de código
nuevos.
TOPICOS AVANZADOS DE BASES DE DATOS
[Escribir texto] Página 43
El Intérprete, que es pequeño y muy útil, es capaz de ser implantado en
cualquier forma que se desee para un sistema operativo particular. Este
puede correr como una aplicación independiente, o como una parte de
otro software, tal como el Web Browser.
El concepto de Java es diferente al de CGI, ya que el CGI se ejecuta en el
servidor, mientras que Java se ejecuta en el cliente.
top related