Red de conocimiento informático - Aprendizaje de código fuente - ¿Cuáles son los pasos específicos del algoritmo a priori en la minería de datos?

¿Cuáles son los pasos específicos del algoritmo a priori en la minería de datos?

Algoritmo: apriori

Entrada: D - base de datos de transacciones; min_sup - umbral mínimo de recuento de soporte

Salida: L - conjuntos de elementos frecuentes en D

Método:

L1=find_frequent_1-itemsets(D); // Encuentra todos los conjuntos de 1 elemento frecuentes

For(k=2; Lk-1!=null; k ){

Ck=apriori_gen(Lk-1); // Generar candidatos y podarlos

Para cada transacción t{ // Escanear D para el recuento de candidatos

Ct =subset(Ck, t ); // Obtiene el subconjunto de t

Para cada candidato c perteneciente a Ct

c.count;

}

Lk ={c pertenece a Ck | c.countgt;=min_sup}

}

Devuelve L=todos los conjuntos frecuentes;

Procedimiento apriori_gen(Lk-1: frecuentes(k-1)-itemsets)

Para cada elemento del conjunto l1 que pertenece a Lk-1

Para cada elemento que pertenece al conjunto de Lk-1 l2

Si((l1[1]=l2[1])amp;amp;(l1[2]=l2 [2])amp;amp;.....

amp;amp; (l1[k-2]=l2[k-2])amp;amp;(l1[k-1]lt;l2[k-1])) entonces{

c=l1 se conecta a l2 //Paso de conexión: generar candidatos

si has_infrequent_subset(c, Lk -1) entonces

eliminar c //paso de poda: eliminar candidatos poco frecuentes

De lo contrario, agregue c a Ck;

}

Devuelve Ck;

Procedimiento has_infrequent_sub( c: k-itemsets candidatos; Lk-1: frecuente(k-1 )-itemsets)

Para cada (k-1) subconjunto s de c

Si s no pertenece a Lk-1, entonces

devuelve verdadero;

devuelve falso