Introducción a los algoritmos de minería de reglas de asociación
Las reglas de asociación minera integradas en la Guía de lectura de Niu son un algoritmo común en la minería de datos, que se utiliza para descubrir patrones, asociaciones y correlaciones frecuentes interesantes ocultas en grandes conjuntos de datos sexuales. . Aquí presentaremos brevemente el algoritmo y luego tomaremos el algoritmo a priori como ejemplo para demostrar los resultados de la implementación del algoritmo.
Reglas de la asociación de minería de datos para la minería de Python con nariz de vaca incrustada
Texto de vaca incrustado
1. Principio del algoritmo
Conceptos básicos
p>
Las reglas de asociación se utilizan para descubrir patrones, asociaciones y correlaciones frecuentes e interesantes ocultos en grandes conjuntos de datos. El algoritmo Apriori es un algoritmo de reglas de asociación clásico para extraer conjuntos de elementos frecuentes. Busca conjuntos de elementos frecuentes a través de iteraciones capa por capa y finalmente genera reglas de asociación: primero escanea el conjunto de datos para obtener 1 conjunto de elementos frecuentes, registrado como L1, luego obtiene conjuntos de elementos frecuentes L2 fusionando L1 y luego encuentra L3 a través de L2, y así sucesivamente, hasta que no se encuentren conjuntos de elementos frecuentes.
En el algoritmo Apriori se definen los siguientes conceptos:
? Elementos y conjuntos de elementos: Sea I={i1, i2,...,im} un conjunto de m elementos diferentes, donde cada ik (k=1, 2,..., m) se denomina elemento, y el conjunto de elementos que se llama es la suma de conjuntos de elementos, es decir, el conjunto de elementos. En el experimento, cada registro de compra puede considerarse como un conjunto de artículos, y un artículo comprado por el usuario es un artículo.
? Transacciones y conjuntos de transacciones: la transacción T es un subconjunto del conjunto de elementos I y la transacción completa se denomina conjunto de transacciones.
? Regla de asociación: la expresión de la forma A = gtb, donde a y b pertenecen al conjunto de elementos I, y a y b no se cruzan.
? Soporte: Definido como soporte (A = gtB) = P(A B), es decir, la probabilidad de que los elementos contenidos en A y B aparezcan simultáneamente en el conjunto de transacciones.
? Confianza: Definida como confianza (A? b) = soporte (A? B)/soporte (A) = P (A B) / P (A) = P (B | A), es decir, si la transacción contiene A, entonces B aparece al mismo tiempo Probabilidad en el comercio.
? Conjuntos de elementos frecuentes: si el soporte del conjunto de elementos I cumple con el umbral mínimo de soporte predefinido (es decir, la frecuencia de I es mayor que el umbral de frecuencia mínimo correspondiente), entonces I es un conjunto de elementos frecuentes.
? Reglas de asociación fuertes: reglas de asociación que satisfacen el apoyo mínimo y la confianza mínima, es decir, las reglas de asociación que se van a extraer.
Con base en los conceptos anteriores, para realizar la minería de reglas de asociación, primero debemos encontrar todos los conjuntos de elementos frecuentes y luego encontrar reglas de asociación sólidas (es decir, escanear el conjunto de datos varias veces para encontrar conjuntos frecuentes, y luego generar reglas de asociación).
2. Minería de conjuntos de elementos frecuentes
Este paso tiene dos partes importantes: vincular y podar. El paso de conexión es utilizar k-1 conjuntos de elementos frecuentes para obtener k conjuntos de elementos candidatos a través de la conexión. Solo se pueden conectar conjuntos de elementos que difieren en un elemento. Por ejemplo, {A, B} y {B, C} se convierten en {A. , B, C }. El paso de poda se basa en una propiedad: un k-conjunto de elementos, si sus k-1 conjuntos de elementos (subconjuntos) no son frecuentes, entonces él mismo no puede ser frecuente. Por lo tanto, en función de esta propiedad, el conjunto candidato se puede podar juzgando las propiedades anteriores.
3. Generar reglas de asociación
Después de la conexión y la poda, se encuentran todos los conjuntos de elementos frecuentes y se pueden generar reglas de asociación sobre esta base. Los pasos son los siguientes.
(1) Para cada conjunto de elementos frecuentes L, genere todos los subconjuntos no vacíos de L (estos subconjuntos no vacíos deben ser conjuntos de elementos frecuentes
(2) Para L para cada uno); subconjunto no vacío x, calcule la confianza (x = gt(l-x)). Si la confianza (x = >(l-x)) confmin, entonces se cumple la regla x = >(l-x)".
2. Diseño de algoritmos
1. Conjunto de datos
Utilice la declaración import xlrd para importar la biblioteca relevante para leer los datos. El contenido de los datos es de diez registros de compras y hay varios tipos. de cada registro de compra. Producto representa el registro de compra de un cliente, como se muestra en la figura.
En la parte de carga de datos, use la función open_workbook en la biblioteca xlrd para abrir un archivo de tabla, use la función Sheet_by_index para obtener una hoja de trabajo y la función Row_values puede leer el contenido de la tabla. Dado que la cantidad de productos en cada registro de compra no es necesariamente la misma, el contenido leído contiene espacios ('), por lo que los datos se eliminan para obtener datos compactos y el resultado final de los datos leídos se devuelve en forma de lista. .
2. Relación
Para la parte de conexión, el objetivo principal es generar k conjuntos de elementos frecuentes candidatos en función de los k-1 conjuntos de elementos frecuentes existentes. Los pasos del algoritmo son: primero ordenar los elementos del conjunto de elementos en orden lexicográfico y luego comparar los dos elementos del conjunto de elementos k-1. Si los primeros k-2 elementos de los dos conjuntos de elementos son iguales, se pueden conectar mediante la operación O (|).
Poda
La operación de poda pasa principalmente por el conjunto de elementos después de la operación de conexión y los conjuntos de elementos frecuentes k-1 anteriores, y utiliza una función de juicio para juzgar cada elemento en el nuevo conjunto de elementos. El complemento. Si el complemento no es un subconjunto del conjunto de elementos frecuentes k-1, se demuestra que el nuevo conjunto de elementos no satisface la propiedad a priori, es decir, todos los subconjuntos no vacíos de un conjunto de elementos frecuentes deben ser frecuentes; de lo contrario, satisface la forma a priori. Devuelve un parámetro booleano para la función que lo llama para tomar la decisión.
Después de los pasos de vinculación y poda, la biblioteca de elementos debe cumplir con la condición mínima de soporte para convertirse en un conjunto de elementos frecuentes. El autor diseñó la función generateFrequentItems para determinar los k conjuntos de elementos candidatos generados después de vincular y podar. Al recorrer el conjunto de datos y calcular su soporte, los conjuntos de elementos que satisfacen el soporte mínimo son conjuntos de elementos frecuentes y pueden devolverse.
Como se indicó anteriormente, después de un recorrido continuo, conexión, poda y eliminación, todos los resultados se pueden devolver en forma de lista. El autor también diseñó una variable de tipo diccionario support_data para obtener un determinado conjunto de elementos frecuentes y su soporte.
4. Reglas de asociación minera
La función GenerateRules se utiliza para extraer reglas de asociación y generar reglas pasando confianza mínima, conjuntos de elementos frecuentes y su soporte. Según el teorema, para cada subconjunto X no vacío del conjunto de elementos frecuentes L, la confianza (x = gt(l-x)), si la confianza (x = > (l-x)) confmin, entonces la regla”, por lo tanto, el enfoque El objetivo de la función es escanear conjuntos de elementos frecuentes, obtener cada subconjunto, calcular la confianza y generar una regla cuando la confianza cumple la condición (es decir, mayor o igual que la confianza mínima). Se utiliza una tupla en la función. Representa una regla, que incluye El soporte mínimo se establece en 0,2 y la confianza mínima se establece en 0,8. Ejecute el programa con pycharm y obtenga los siguientes resultados:
Como se puede ver en los resultados de la figura. , para conjuntos frecuentes de 1 elemento, hay 5 conjuntos de elementos satisfactorios, 6 conjuntos frecuentes de 2 elementos y 2 conjuntos frecuentes de 3 elementos, todos los cuales satisfacen el grado de soporte es mayor o igual al grado de soporte mínimo 0.2. , el programa obtiene tres reglas de asociación, a saber, {pan} = gt{leche}, {huevos} = gt{leche}, {pan, manzana} = gt{leche, donde la confianza de estas reglas es 1,0, cumpliendo la condición de ser mayor o igual a la confianza mínima de 0,8
Código fuente del programa
.