ruleMining

fism

Descripción

La acción `fism` aplica el algoritmo FP-growth (Frequent Pattern growth) para identificar conjuntos de elementos frecuentes (frequent item sets) en datos transaccionales. Es esencial para el análisis de la cesta de la compra y la minería de reglas de asociación, permitiendo descubrir qué artículos tienden a aparecer juntos en las transacciones con una frecuencia superior a un umbral definido (soporte).

ruleMining.fism / idVariable="variable-name", items=integer, nFis_Range={ lower=integer, upper=integer }, out={casouttable}, outFreq={casouttable}, supmin=double, suppct=double, table={castable}, tgtVariable="variable-name";
Parámetros
ParámetroDescripción
tableEspecifica la tabla de entrada (objeto castable) que contiene los datos transaccionales a analizar.
idVariableEspecifica la variable que agrupa los datos en transacciones o cestas (ej. ID de Ticket o ID de Cliente).
tgtVariableEspecifica la variable nominal objetivo que contiene los elementos o artículos (ej. Producto).
suppctEspecifica el nivel mínimo de soporte como porcentaje del total de transacciones. Los conjuntos de ítems deben aparecer en este porcentaje de transacciones para ser considerados frecuentes.
supminEspecifica el recuento mínimo absoluto de soporte. Anula el parámetro `suppct` si se utiliza.
itemsDefine el número de elementos a incluir en una regla o conjunto. El valor predeterminado es 2 cuando se especifica una tabla de salida.
nFis_RangeEspecifica el rango (mínimo y máximo) del número de elementos permitidos en los conjuntos de ítems frecuentes generados.
outEspecifica la tabla de salida (casouttable) que contendrá los conjuntos de ítems frecuentes encontrados, junto con sus conteos y soporte.
outFreqEspecifica la tabla de salida (casouttable) que contendrá los elementos frecuentes únicos con sus conteos de transacciones y soporte.
Creación de datos de transacciones de mercado

Creamos una tabla CAS con transacciones de compras simuladas, donde cada transacción contiene múltiples productos.

¡Copiado!
1DATA mycas.market_basket; INPUT id_transaccion producto $; DATALINES;
21 Manzana
31 Leche
41 Pan
52 Manzana
62 Pan
73 Leche
83 Pan
93 Huevos
104 Manzana
114 Leche
124 Pan
134 Huevos
145 Pan
155 Huevos
16; RUN;

Ejemplos

Ejecuta el algoritmo FP-growth para encontrar combinaciones de productos que aparecen en al menos el 40% de las transacciones.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3ruleMining.fism / TABLE={name="market_basket", caslib="casuser"} idVariable="id_transaccion" tgtVariable="producto" suppct=40 out={name="sets_frecuentes", caslib="casuser"};
4 
5RUN;
6 
Resultado :
Genera una tabla 'sets_frecuentes' que contiene los conjuntos de productos (ej. {Pan, Manzana}) que cumplen con el soporte del 40%.

Busca conjuntos frecuentes que contengan entre 1 y 3 artículos, utilizando un conteo mínimo de 2 transacciones (en lugar de porcentaje), y genera tanto la tabla de conjuntos como la de frecuencias de ítems únicos.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3ruleMining.fism / TABLE={name="market_basket", caslib="casuser"} idVariable="id_transaccion" tgtVariable="producto" supmin=2 items=3 nFis_Range={lower=1, upper=3} out={name="sets_detallados", caslib="casuser", replace=true} outFreq={name="frecuencia_items", caslib="casuser", replace=true};
4 
5RUN;
6 
Resultado :
Se crean dos tablas: 'sets_detallados' con combinaciones de 1 a 3 productos que aparecen al menos 2 veces, y 'frecuencia_items' con el conteo individual de cada producto.

FAQ

¿Cuál es el propósito de la acción fism?
¿Cuáles son los parámetros obligatorios para ejecutar la acción fism?
¿Cómo se define el nivel mínimo de soporte para una regla?
¿Qué función cumple el parámetro items?
¿Qué tablas de salida puede generar la acción fism?
¿Para qué se utiliza el parámetro nFis_Range?