Análisis de correlación utilizando lenguaje R
Utilice el lenguaje R para el análisis de correlación
La correlación es una regularidad importante y detectable entre los valores de dos o más variables. El propósito del análisis de correlación es encontrar correlaciones ocultas entre elementos de datos en un conjunto de registros de datos determinado y describir la cercanía entre los datos.
Varios conceptos básicos
1. Conjunto de artículos
Este es un concepto de conjunto. Un producto de consumo en una canasta de bienes es un artículo (Artículo). Entonces, la colección de varios elementos es un conjunto de elementos, como {cerveza, pañales} constituyen un conjunto de elementos binarios.
2. Reglas de asociación
Generalmente escritas en la forma de X es el requisito previo, Y es el resultado de la asociación correspondiente y se utiliza para expresar la correlación implícita dentro de los datos. Por ejemplo: , que indica que los consumidores que compran pañales a menudo también compran cerveza.
La fuerza de la correlación se controla y evalúa mediante tres conceptos: apoyo, confianza y mejora.
Ejemplo: 10.000 consumidores compraron bienes, incluidos 1.000 pañales, 2.000 cerveza, 500 pan, 800 pañales y pan, y 100 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, este indicador mide la "cantidad" de las reglas de asociación bajo investigación. Al establecer el umbral mínimo (minsup), se eliminan las reglas sin sentido con una "tasa de aparición" baja y se conservan las reglas implícitas en conjuntos de elementos que aparecen con más frecuencia.
Establezca el umbral mínimo en 5 %. Dado que el soporte de {pañales, cerveza} es 800/10000 = 8 %, cumple con los requisitos básicos para perder, se convierte en un conjunto de elementos frecuentes y conserva las reglas. ; mientras que {pañales, cerveza} Pan} tiene un soporte de 100/10000=1% y se elimina.
4. Confianza (Confidence)
La confianza representa la probabilidad de que ocurra el resultado asociado Y bajo la condición de que se cumpla el prerrequisito X:
Este se genera el segundo. El umbral de reglas de asociación fuertes mide la confiabilidad "cualitativa" de las reglas de asociación bajo investigación. 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%, y se elimina.
5. Elevación (elevación)
Elevación significa la posibilidad de contener Y bajo la condición de contener X y la posibilidad de contener Y en el conjunto de elementos sin X. Relación: p>
Este indicador mide la confiabilidad de las reglas del mismo modo que el nivel de confianza, 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(arules) #Cargar paquete de reglas
> click_detail =read.transactions("click_detail.txt",format="cesta",sep=",,cols= c(1)) #Leer documento txt (la codificación del documento es ANSI)
> reglas <- apriori(click_detail, parámetro =list(supp=0.01,conf=0.5,target="rules")) # Llamar al algoritmo a priori
> reglas
conjunto de 419 reglas
> inspeccionar(reglas[1:10]) #Ver las diez reglas principales
Explicación
1) biblioteca (arules): cargue el paquete del programa arules. Por supuesto, si no ha descargado este paquete antes, primero debe instalar.packages(arules)
read.transactions(archivo, formato = c("cesta", "single"), sep = NULL,
cols = NULL, rm.duplicates =FALSE, codificación = "desconocido")
archivo: archivo nombre, correspondiente a "click_detail.txt" en el formato click_detail
: hay dos formatos de archivo, a saber, "cesta" y "único". El que se utiliza en click_detail.txt es la cesta.
cesta: La cesta es una cesta. Todo lo que compra un cliente se pone en la misma cesta, y las transacciones de todos los clientes son la combinación de cestas. De la siguiente forma, cada transacción es independiente.
Formato de archivo:
item1,item2
item1
item2,item3
Después de leer: p>
elementos
1 {elemento1,
elemento2}
2 {elemento1}
3 {elemento2,
p>item3}
único: único significa, como sugiere el nombre, una transacción separada. En pocas palabras, el registro de la transacción es: el cliente 1 compró el producto 1, el cliente 1 compró el producto 2, el cliente 2. compró el producto 3... (producto 1, producto 2, producto 3 puede ser un solo producto o varios productos), de la siguiente forma:
trans1 artículo1
trans2 artículo1 p>
trans2 item2
Después de leer:
items ID de transacción
1 {item1} trans1
2 {item1,
item2} trans2
sep: cómo se separan los datos en el archivo, el valor predeterminado son espacios, click_detail está separado por comas
cols: sí Cesta, col =1, significa que la primera columna son los identificadores de transacción (número de transacción) de los datos. Si col=NULL, significa que no hay ninguna columna de número de transacción en los datos para single, col=c(1,2) significa; la primera columna son los identificadores de transacciones y la segunda columna son los identificadores de elementos
rm.duplicates: ya sea para eliminar duplicados, el valor predeterminado es FALSO
codificación: después de escribir esto, estudié qué codificación significa y descubrí que el texto anterior no necesita ser del tipo "ANSI". Si el TXT es "UTF-8", escriba codificación="UTF-8" y estará bien.
3) reglas <- apriori(click_detail,parameter = list (supp=0.01,conf=0.5,target="rules")): función apriori
apriori(datos, parámetro = NULL, apariencia = NULL, control = NULL)
datos: datos
parámetro: establecer parámetros, por defecto parámetro=lista(supp=0.1,conf=0.8,maxlen=10,minlen=1,target= ”reglas”)
supp: soporte (soporte)
conf: confianza (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: limitar los elementos específicos incluidos en el requisito previo X (izquierdo) y resultado de asociación Y (rhs), como por ejemplo: configurando lhs=beer, solo se generarán las reglas de asociación con lhs que contengan cerveza. De forma predeterminada, todos los elementos aparecerán ilimitados.
Control: controla el rendimiento de la función. Por ejemplo, puede configurar la clasificación ascendente = 1 o la clasificación descendente = -1 para ordenar el conjunto de elementos y si informar el proceso al usuario (detallado = F/T). )
Suplemento
Controlado por soporte: reglas.sorted_sup = sort(rules, by="support")
Controlado por confianza: reglas.sorted_con = sort (rules, by=”confidence”)
Controlado por lift: reglas.sorted_lift = sort(rules, by=”lift”)
Algoritmo a priori
Método de dos pasos:
1. Generación de conjuntos de elementos frecuentes: busque todos los conjuntos de elementos que satisfagan el umbral mínimo de soporte, que se denominan conjuntos de elementos frecuentes
2. un conjunto de elementos frecuentes l, encuentre todos los subconjuntos no vacíos en él, luego, para cada subconjunto a, si la proporción de soporte (l) a soporte (a) es mayor que la credibilidad mínima, entonces existe una regla a ==; >(l-a).
La sobrecarga computacional requerida para generar conjuntos de elementos frecuentes es mucho mayor que la sobrecarga computacional requerida para generar reglas
Generación de conjuntos de elementos frecuentes
Varios conceptos:
p>
1. Un conjunto de datos que contiene K elementos puede producir 2^k conjuntos candidatos
2 Principio a priori: si un conjunto de elementos es frecuente, entonces todos sus conjuntos secundarios lo son. también frecuente (esta oración es fácil de entender después de comprender el significado de conjuntos de elementos frecuentes; por el contrario, si un conjunto de elementos es infrecuente, entonces todos sus subconjuntos también deben ser infrecuentes);
3 Una propiedad clave basada en la medida de soporte (SUPPORT): el soporte de un conjunto de elementos no excederá el soporte de su subconjunto (es fácil entender que el soporte ocurre simultáneamente Probabilidad, asumiendo que el conjunto de elementos {A, B, C}, {A, B} es uno en sí mismo, la probabilidad de que A, B y C ocurran al mismo tiempo definitivamente no excederá la probabilidad de que A, B ocurra al mismo tiempo).
La regla anterior se usa en Apriori, como se muestra en la siguiente figura. Cuando busque conjuntos de elementos frecuentes, escanee de arriba a abajo. Cuando encuentre un conjunto de elementos, es un conjunto de elementos no frecuente (. el conjunto de elementos admite un tamaño menor que Minsup), entonces el conjunto de elementos debajo debe ser un conjunto de elementos no frecuente y esta parte se eliminará.
Un ejemplo (de un PPT obtenido por Baidu):
Cuando estaba entendiendo el significado de conjuntos de elementos frecuentes, simplemente reproduje este ejemplo en R. Aquí uso El algoritmo eclat debería ser similar a apriori:
Código:
item <- list(
c("pan","leche"),
p>c("pan","pañal","cerveza","huevos"),
c("leche","pañal","cerveza","coca"), p>
c("pan","leche","pañal","cerveza"),
c("pan","leche","pañal","coca")
)
nombres(elemento) <- pegar("tr",c(1:5),sep = "")
elemento p>
trans <- as(item,"transactions") #Convertir lista a tipo de transacciones
rules = eclat(trans,parameter = list(supp = 0.6,
target = "conjuntos de elementos frecuentes"),control = list(sort=1))
inspect(rules) #Ver conjuntos de elementos frecuentes
Resultado después de ejecutar:
>inspeccionar (reglas)
soporte de artículos
1{cerveza,
pañal} 0,6
2{pañal,
p>leche} 0,6
3{pan,
pañal} 0,6
4{pan,
leche} 0,6 p>
5{cerveza} 0,6
6{leche} 0,8
7{pan} 0,8
8{pañal} 0,8
p>Los anteriores son todos los conjuntos de elementos frecuentes de este ejemplo, y luego descubrí que faltaba el conjunto de elementos {pan, leche, pañal}. Volviendo al ejemplo, descubrí que este conjunto de elementos en realidad solo apareció dos veces. entonces no existe tal conjunto de elementos.
Generación de reglas
Cada conjunto de elementos k frecuente puede generar hasta 2k-2 reglas de asociación
Divida el conjunto de elementos Y en dos subconjuntos X e Y-X no vacíos , tal que X ->Y-X satisface el umbral de confianza
Teorema: si la regla satisface el umbral de confianza, donde X' es un subconjunto de Se puede podar.