La minería de datos es un proceso en el que los datos del usuario se extraen y procesan a partir de un montón de datos sin procesar. Al agregar estos conjuntos de datos en un formato resumido, se pueden resolver muchos problemas que surgen en finanzas, marketing y muchos otros campos. En el mundo moderno con enormes cantidades de datos, la minería de datos es uno de los campos de tecnología en crecimiento que actúa como una aplicación en muchas industrias de las que dependemos en nuestra vida. Se han llevado a cabo muchos desarrollos e investigaciones en este campo y también se han divulgado muchos sistemas. Dado que existen numerosos procesos y funciones que se deben realizar en Data Mining, se necesita una interfaz de usuario muy bien desarrollada. Aunque existen muchas interfaces de usuario bien desarrolladas para los sistemas relacionales, Han, Fu, Wang, et al. propuso el lenguaje de consulta de minería de datos (DMQL) para construir más sistemas de desarrollo e innovar muchos tipos de investigación en este campo. Aunque no podemos considerar DMQL como un lenguaje estándar. Es un lenguaje derivado que se erige como un lenguaje de consulta general para realizar técnicas de minería de datos. DMQL se ejecuta en sistemas mineros DB para recopilar datos de varias capas de bases de datos.
Ideas en el diseño de DMQL:
DMQL está diseñado en base al lenguaje de consulta estructurado (SQL), que a su vez es un lenguaje de consulta relacional.
- Solicitud de minería de datos:Para la tarea de minería de datos dada, los conjuntos de datos correspondientes deben definirse en forma de una solicitud de minería de datos. Veamos esto con un ejemplo. Como el usuario puede solicitar cualquier parte específica de un conjunto de datos en la base de datos, el minero de datos puede utilizar la consulta de la base de datos para recuperar los conjuntos de datos adecuados antes del proceso de extracción de datos. Si la agregación de esos datos específicos no es posible para el minero de datos, recopila los superconjuntos de los que se pueden derivar los datos requeridos. Esto demuestra la necesidad de un lenguaje de consulta en la minería de datos que actúe como su subtarea. Dado que la extracción de datos relevantes de grandes conjuntos de datos no se puede realizar de forma manual, muchos métodos de desarrollo están presentes en la técnica de minería de datos. Pero al hacerlo de esta manera, a veces puede fallar la tarea de recopilar datos relevantes solicitados por el usuario. Al usar DMQL,
- Conocimiento previo: el conocimiento previo de los conjuntos de datos y sus relaciones en una base de datos ayuda a extraer los datos. Al conocer las relaciones o cualquier información útil, se puede facilitar el proceso de extracción y agregación. Por ejemplo, la jerarquía conceptual de la cantidad de conjuntos de datos puede aumentar la eficiencia del proceso y la precisión al recopilar fácilmente los datos deseados. Al conocer la jerarquía, los datos se pueden generalizar con facilidad.
- Generalización: cuando los datos en conjuntos de datos de un almacén de datos no se generalizan, a menudo los datos estarían en forma de restricciones de integridad primitivas sin procesar, conjuntos de datos de valores múltiples asociados aproximadamente y sus dependencias. Pero al usar el concepto de generalización, el uso del lenguaje de consulta puede ayudar a procesar los datos sin procesar en una abstracción precisa. También trabaja en la recolección multinivel de datos con una agregación de calidad. Cuando las bases de datos más grandes entren en escena, la generalización jugaría un papel importante para dar resultados deseables en un nivel conceptual de recopilación de datos.
- Flexibilidad e interacción: para evitar la recopilación de datos menos deseables o no deseados de las bases de datos, se deben especificar valores o umbrales de exposición eficientes para la minería de datos flexible y proporcionar una interacción compulsiva que haga que la experiencia del usuario sea interesante. Dichos valores de umbral se pueden proporcionar con consultas de minería de datos.
Los cuatro parámetros de la minería de datos:
- El primer parámetro es obtener el conjunto de datos relevante de la base de datos en forma de consulta relacional. Al especificar esta primitiva, se recuperan los datos relevantes.
- El segundo parámetro es el tipo de recurso/información extraído. Esta primitiva incluye reglas de generalización, asociación, clasificación, caracterización y discriminación.
- El tercer parámetro es la jerarquía de los conjuntos de datos o la relación de generalización o el conocimiento previo, como se dijo anteriormente en el diseño de DMQL.
- El parámetro final es la competencia de los datos recopilados, que puede representarse mediante un valor de umbral específico que, a su vez, depende del tipo de reglas utilizadas en la minería de datos.
Sintaxis básica en DMQL:
DMQL adquiere sintaxis como el lenguaje de consulta relacional, SQL . Está diseñado con la ayuda de la notación/gramática Backus Naur Form (BNF) . En esta notación, “[ ]” o “{ }” denota 0 u otras posibilidades.
Para recuperar un conjunto de datos relevante:
Sintaxis:
use database (database_name) {use hierarchy (hierarchy_name) for (attribute)} (rule_specified) related to(attribute_or_aggreagate_list) from(relation(s)) [where(condition)] [order by(order_list)] {with [(type_of)] threshold = (threshold_value) [for(attribute(s))]}
En la consulta de minería de datos anterior, la primera línea recupera la base de datos requerida (database_name). La segunda línea usa la jerarquía que uno ha elegido (hierarchy_name) con el atributo dado. (rule_specified) denota los tipos de reglas que se especificarán. Para encontrar las diversas reglas especificadas, uno debe encontrar el conjunto relacionado basado en el atributo o agregación que ayuda en la generalización. Las cláusulas from y where aseguran que se cumpla la condición dada. Luego se ordenan usando «ordenar por» para un valor de umbral designado con respecto a los atributos.
Para las reglas en DMQL:
Sintaxis:
Generalización:
generalize data [into (relation_name)]
Asociación:
find association rules [as (rule_name)]
Clasificación:
find classification rules [as (rule_name) ] according to [(attribute)]
Caracterización:
find characteristic rules [as (rule_name)]
Discriminación:
find discriminant rules [as (rule_name)] for (class_1) with (condition_1) from (relation(s)_1) in contrast to (class_2) with (condition_2) from (relation(s)_2) { in contrast to (class_i) with (condition_i) from (relation(s)_i)}
Tipos de umbrales en la minería de reglas:
En el proceso de minería de datos, mantener un conjunto de valores de umbral es muy importante para extraer conjuntos de datos útiles y atractivos de un montón de datos. Este valor de umbral también ayuda a medir la relevancia de los datos y ayuda a impulsar la búsqueda de conjuntos de datos interesantes.
Los tipos de umbrales en la minería de reglas se pueden clasificar en tres clases.
- Umbral de importancia: para presentar un conjunto de datos en el proceso de extracción de datos, se debe verificar que el conjunto de datos tenga al menos alguna prueba racionalmente significativa de un patrón dentro de sí mismo. De acuerdo con las reglas de la asociación minera, se denominan umbral mínimo de apoyo. Los patrones que se encuentran dentro de este umbral de soporte mínimo se denominan elementos de datos frecuentes. De acuerdo con las reglas características, se denominan umbral de ruido. Los patrones que no pueden cruzar este umbral se denominan ruido.
- Umbral de redundancia de regla: este umbral evita la redundancia del conjunto de datos que se va a presentar. Es decir, las reglas que se van a proporcionar no deben ser las mismas que las existentes.
- Umbral de confianza de la regla: La probabilidad de X bajo la condición Y en la regla (X->Y), la probabilidad debe pasar por este umbral de confianza de la regla para asegurarse de ello.
Sintaxis:
with (threshold_name) threshold = value_of_threshold
Ejemplo:
with confidence threshold = 0.9 with redundancy threshold = 0.04
Representación de jerarquías de conceptos:
Las jerarquías de conceptos ayudan en el proceso preciso de extracción de datos. Esto funciona en base a las relaciones y la agrupación de datos. Esta jerarquía de conceptos debe ser flexible para realizar cambios de forma dinámica cuando se encuentran nuevos conjuntos de datos.
- A nivel de esquema:
Usando las relaciones entre los atributos de un conjunto de datos, la jerarquía conceptual se puede especificar en el nivel de esquema.
Consulta:
define hierarchy student_result_hierarchy on marks as [year, department, class, section]
En el ejemplo anterior, el atributo departamento es más general que el año del estudiante pero menos general que la clase y la sección en la que estudia el estudiante. Ahora tome un ejemplo de jerarquía integrada a nivel de esquema:
Consulta:
define hierarchy period_hierarchy on date as [day, month, year]
- Por agrupación de conjuntos:
En este, la jerarquía se especifica en base a técnicas de agrupación de conceptos que proporcionan la apariencia obvia de niveles inferiores y superiores.
define hierarchy age_hierarchy for book on audience as level1: {children, young_adult, adult} < level0: all level2:{8, ..., 12} <level1: children level3:{13, ..., 18} <level1: young_adult level4:{19, ..., 100} <level1: adult
En el ejemplo anterior, la categoría de un libro se agrupa con conjuntos o rangos de edad.
- Jerarquía derivada de la operación:
En esta jerarquía, los datos están en forma de atributos numéricos. Se puede hacer comparando rangos o incluso agrupando utilizando algoritmos de datos.
define hierarchy age_hierarchy for book on audience as {age_group(1), ..., age_group(3)} := cluster(default, age, 3) < all(age)
- Jerarquía basada en reglas:
En esta jerarquía, la especificación se realiza en base a reglas. Habrá un pequeño número de reglas en el nivel inferior y aumentos en los niveles superiores.
define hierarchy book_royalty_hierarchy on book as level1: low_royalty < level0: all if ( maximum_selling_price)< Rs. 300 level_1: moderate-royalty < level_0: all if ((maximum_selling_price) > Rs. 300) and ((maximum_selling_price) ≤ Rs. 275)) level_1: high_royalty < level_0: all
En el ejemplo anterior, la regalía que el autor obtiene por su libro en función del rango del precio de venta máximo (MRP) se explica mediante una jerarquía basada en reglas.
Para la presentación del patrón:
Para mejorar la experiencia del usuario, el usuario puede solicitar un conjunto de datos o patrón específico para verlo en un formato específico.
Sintaxis:
display as (result_format)
Ejemplo:
display as graph
Especificación de DMQL en una base de datos de libros:
Considere una base de datos de libros con el siguiente esquema.
Consulta:
book( book_name, book_id, book_category,genre, book_type) author(author_name,phone_no,address) publishing(publisher_name, publishing_id,cost) buyer(buyer_name,buyer_id,buyer_address)
Como gerente de marketing de una editorial nacional, Joel quiere caracterizar las tendencias de compra de los compradores de un libro que tiene un precio de no menos de 300 rupias con respecto a la categoría del libro, el tipo de libro (libro electrónico/libro en rústica) y el género en el que los compradores compraron. El objetivo es encontrar el porcentaje de compradores con la tendencia característica dada. A Joel solo le interesan las compras realizadas como libro electrónico. Quiere mostrar los datos resultantes en forma de tabla.
Consulta:
use database national_publisher use hierarchy age_hierarchy for B.category mine characteristics as buyerPurchasing analyze sell% related to B.category,B.type,B.genre from buyer X, Book B, purchase P, books_sold S, book_category C where B.ID = S.book_ID and P.buyer_ID = X.buyer_ID and B.type = "ebook" and B.price ≥ 300 with noise threshold = 0.7% display as table
En el campo de la minería de datos, se requieren interfaces gráficas de usuario (GUI) eficientes para realizar funciones eficientes. En GUI, los lenguajes de bases de datos relacionales como SQL juegan un papel importante en la creación de muchos sistemas de desarrollo. Pero podemos considerar DMQL como un lenguaje de consulta central para realizar cualquier aplicación específicamente basada en la minería de datos que ayude a construir una GUI más efectiva. La recopilación, manipulación y presentación de datos en la minería de datos se vuelven fáciles si se estandariza el uso de DMQL como el lenguaje de consulta central para los procesos de minería de datos. DMQL tiene muchas ventajas en minería de datos. Pero, todavía tiene limitaciones. Cuando se trata de GUI desarrolladas en las que se utiliza un gráfico o una estructura de presentación mejorada, se vuelve difícil ubicar los lugares. Entonces, solo después de una experimentación severa, DMQL puede reemplazar a SQL como un lenguaje de consulta central en la minería de datos.