Utilice el lenguaje r para realizar análisis relevantes
La correlación es una regularidad importante y detectable entre dos o más variables. El propósito del análisis de asociación es descubrir asociaciones ocultas entre elementos de datos en un conjunto determinado de registros de datos y describir la cercanía entre los datos.
Varios conceptos básicos
1. Conjunto de proyectos
Este es un concepto de colección. Un producto de consumo en una canasta de bienes es un artículo y una colección de varios artículos es un conjunto de artículos. Por ejemplo, {cerveza, pañales} forman un conjunto de artículos binarios.
2. Reglas de asociación
Generalmente escritas en forma de , donde x es la premisa e y es el resultado relacionado correspondiente, que se utiliza para representar la correlación implícita dentro de los datos. Por ejemplo, los consumidores que compran pañales suelen comprar cerveza.
La fuerza de la relevancia se controla y evalúa mediante tres conceptos: apoyo, confianza y facilitación.
Por ejemplo, 65.438.000 consumidores compraron bienes, incluidos 65.438.0000 pañales, 2.000 botellas de cerveza, 500 piezas de pan, 800 pañales y pan, 65.438.000 pañales y pan.
3. Soporte (Support)
El soporte se refiere a la posibilidad de que {X, Y} aparezca en todos los conjuntos de elementos, es decir, la probabilidad de que un conjunto de elementos contenga tanto X como Y:
Como primer umbral para establecer reglas de asociación sólidas, esta métrica mide el número de reglas de asociación estudiadas. Al establecer un umbral mínimo (minsup), se eliminan las reglas sin sentido con bajas tasas de ocurrencia y se conservan las reglas implícitas en conjuntos de elementos frecuentes.
Establezca el umbral mínimo en 5, porque el soporte de {pañales, cerveza} es 800/10000=8, lo que cumple con los requisitos básicos de pérdida, se convierte en un conjunto de artículos frecuentes y, sin embargo, conserva la regla; Se admiten {pañales y pan} El grado es 100/10000=1, que se rechaza.
4. Confianza
La confianza representa la probabilidad de que el resultado relevante Y aparezca cuando se cumpla el requisito previo X:
Esto es para generar reglas de asociación sólidas. El segundo. umbral, que mide la confiabilidad "cualitativa" de la regla de asociación en estudio. De manera similar, debemos establecer un umbral mínimo (mincon) de confianza para lograr un mayor filtrado.
Específicamente, cuando el umbral mínimo de confianza se establece en 70, la confianza es 800/1000=80 y la confianza es 800/2000=40, se rechaza.
5. Ascensor
El grado de elevación representa la relación entre la posibilidad de incluir Y bajo la condición de que X esté incluido y la posibilidad de incluir Y en el conjunto de elementos que no lo hace. incluir X:
p>
Este indicador es el mismo que el nivel de confianza. Mide la confiabilidad de las reglas y puede considerarse como un indicador complementario del nivel de confianza.
Algoritmo a priori en r
Pasos del algoritmo:
1. Seleccione todos los conjuntos de elementos que cumplan con el umbral mínimo de soporte, es decir, conjuntos de elementos frecuentes;
2. Encuentre todas las reglas que satisfagan el nivel mínimo de confianza del conjunto de elementos frecuentes.
biblioteca gt (arules) #Cargar paquete de reglas
gtClick_Details=Leer. transacciones ("click_detail.txt", format = "basket", sep = ",", cols = c (1)) # Leer documento txt (el código del documento es ANSI).
gt reglas lt-apriori (haga clic en _ detalle, parámetro = lista (supp = 0.01, conf = 0.5, destino = "reglas")) #Llame al algoritmo a priori.
reglas gt
Conjunto de 419 reglas
gtinspect(rules[1:10])#Ver las diez reglas principales.
Explicación
1) Biblioteca (arules): Carga el paquete de reglas.
Por supuesto, si no ha descargado este paquete antes, primero debe instalar .packages(arules).
2) Click_Details=Leer. transacciones ("click_detail.txt", formato = "cesta", sep = ",", cols = c(1)): leer datos.
read.transactions(archivo, formato =c("cesta ", "single "), sep = NULL,
cols = NULL, rm.duplicates =FALSE, codificación = " desconocido ")
Archivo: nombre del archivo, correspondiente a "click_detail.txt" en click_detail.
Formato: Hay dos formatos de archivo, a saber, "cesta" y "único". click_detail.txt utiliza la cesta de la compra.
Cesta: Una cesta es una cesta. Todo lo que compra un cliente se coloca en la misma cesta, y todas las transacciones del cliente son el resultado de la combinación de la cesta. En el siguiente formulario, cada transacción es independiente.
Formato de archivo:
Proyecto 1, Proyecto 2
Proyecto 1
Proyecto 2, Proyecto 3
Pensamientos después de leer:
Artículo
1 {item1,
Artículo2}
2 {item1}
3 {item2,
Item 3}
Pedido: El significado de pedido, como sugiere el nombre, es una transacción separada. En resumen, el registro de transacción es: el cliente 1 compró el producto 1, el cliente 1 compró el producto 2, el cliente 2 compró el producto 3... (el producto 1, el producto 2, el producto 3 pueden ser un solo producto o varios productos).
trans1 artículo1
trans2 artículo1
Transporte 2 artículo 2
Después de leer:
ID de transacción del proyecto
p>
1 { elemento 1 } trans 1
2 {item1,
item2} transacción 2
Sep: Cómo ¿Están separados los datos del archivo? El valor predeterminado es un espacio y click_detail está separado por comas.
Cols: para la cesta, col=1 significa que la primera columna es el ID de transacción de los datos; si col=NULL, significa que no hay ninguna columna de ID de transacción en los datos para una sola columna; =c(1,2 ) significa que la primera columna es el ID de la transacción y la segunda columna es el ID del proyecto.
Rm.duplicates: ya sea para eliminar duplicados, el valor predeterminado es FALSO.
Codificación: escribí aquí para estudiar el significado de codificación y descubrí que el texto puede no ser del tipo ANSI. Si el TXT es UTF-8, escriba codificación = UTF-8 y estará bien.
3) Reglas lt-apriori (click_detail, parámetro = lista (supp = 0.01, conf = 0.5, target = "rules")): función a priori.
apriori(datos, parámetros=null, apariencia=null, control=null)
datos: datos
Parámetros: Establecer parámetros. De forma predeterminada, parámetro = lista (supp = 0,1, conf = 0,8, Maxlen = 10, Minlen = 1, destino = "reglas").
Suplemento: Nivel de soporte
Conf: Confianza
Maxlen, minlen: el número máximo y mínimo de elementos contenidos en cada conjunto de elementos.
Objetivo: "reglas" o "conjuntos de elementos frecuentes" (reglas de asociación de salida/conjuntos de elementos frecuentes)
Apariencia: restringir los requisitos previos X (izq.) y los resultados de asociación Y (der.) ¿Qué elementos son? incluido en . Por ejemplo, si se establece lhs=beer, solo se generarán las reglas asociadas con la cerveza en lhs. De forma predeterminada, todos los elementos se mostrarán indefinidamente.
Control: controla el rendimiento de la función, por ejemplo, si el conjunto de proyectos se puede ordenar en orden ascendente = 1 o en orden descendente = -1, si se debe informar el progreso al usuario (detallado = F /T)
Agregado
Control vía soporte: reglas. sorted_sup = sort (reglas, by = "support")
Controlado por confianza: reglas. sorted_con = sort (reglas, por = "confianza")
Control por ascensor: reglas. sorted _ lift = sort (rules, by = "lift ")
Algoritmo a priori
Método de dos pasos:
1 Generación de conjuntos de elementos frecuentes: buscar. Encuentre todos los conjuntos de elementos que satisfacen el umbral mínimo de soporte, que se denominan conjuntos de elementos frecuentes;
2 Generación de reglas: para cada conjunto de elementos frecuentes L, busque todos los subconjuntos no vacíos, para cada uno de esos subconjuntos A de; La sobrecarga computacional requerida es mucho mayor que la requerida para la generación de reglas.
Generación de conjuntos de elementos frecuentes
Algunos conceptos:
1. Un conjunto de datos que contiene k elementos puede generar 2 k conjuntos candidatos.
2. Principio de trascendencia: si un conjunto de elementos es frecuente, entonces todos sus subconjuntos son frecuentes (es fácil entender el significado de conjuntos de elementos frecuentes; por el contrario, si un conjunto de elementos es infrecuente, todos sus subconjuntos); También debe ser poco frecuente.
3 Basado en una propiedad clave de la medida de soporte: el soporte de un conjunto de elementos no excederá el soporte de su subconjunto (es fácil entender que el soporte es la probabilidad de * * * coincidencia, suponiendo que el conjunto de elementos {A, B, C} y {A, B} son propios, y que la probabilidad de coincidencia de A, B y C definitivamente no excederá la probabilidad de coincidencia de A y B.
Utilice las reglas anteriores en Apriori, como se muestra en la figura siguiente. Cuando busque conjuntos de elementos frecuentes, escanee de arriba a abajo. Cuando un conjunto de elementos es un conjunto de elementos no frecuente (el soporte de este conjunto de elementos es menor que Minsup). el conjunto de elementos a continuación debe ser un conjunto de elementos no frecuentes. Esta parte se eliminará.
Un ejemplo (en un PPT de Baidu):
Después de entender el significado de conjuntos de elementos frecuentes, Simplemente lo repetí en R. Aparece este ejemplo. Aquí se utiliza el algoritmo eclat, que debería ser similar a a priori:
Código:
item lt-list(
c("Pan", "Leche"),
c("Pan", "Pañal", "Cerveza", "Huevo"),
c(" Leche", "Pañal", "Cerveza" ", "Coca"),
c("Pan", "Leche", "Pañal", "Cerveza"),
c("Pan", "Leche", "Pañales", "Coca")
)
Nombre (elemento) lt- pegar("tr ", c(1:5 ), sep = " ")
item
trans lt-as(item, "transactions") #Convierte la lista en transacciones.
reglas = eclat(trans, parámetro = lista(supp = 0.6,
objetivo = "conjunto de elementos frecuentes"), control = lista(sort=1))
Inspeccionar (reglas) #Ver conjuntos de elementos frecuentes
Resultados después de ejecutar:
gt check (reglas)
Soporte de proyecto
1 {cerveza,
pañales} 0,6
2 {pañales,
leche} 0,6
3 {pan,
p>
Pañales} 0,6
4 {Pan,
Leche} 0,6
5 Cerveza 0,6
6 {Leche} 0,8
7 {Pan} 0,8
8 {Pañales} 0,8
Hay tantos conjuntos de elementos frecuentes en este ejemplo, y luego descubrí que el conjunto de elementos {Pan, leche, pañales} desapareció. Cuando vuelvo a mirar el ejemplo, este conjunto de elementos en realidad solo aparece dos veces, por lo que no existe tal conjunto de elementos.
Generación de reglas
Cada conjunto frecuente de K-items puede generar hasta 2k-2 reglas de asociación.
Divida el conjunto de elementos Y en dos subconjuntos no vacíos X e Y-X, de modo que x->: Y-X satisfaga el umbral de confianza.
Teorema: Si la regla X->Y-X no satisface el umbral de confianza, entonces la regla X'-->Y-X' no debe satisfacer el umbral de confianza, donde
A priori se calcula capa por capa como se muestra a continuación. Cuando se encuentra un conjunto de elementos que no satisface el nivel de confianza, se pueden podar las reglas para todos los subconjuntos del conjunto de elementos.