ruleMining

fism

##set_rulemining

Description

L'action fism (Frequent Item Set Mining) issue du set d'actions Association Rule Mining est le couteau suisse pour dénicher des ensembles d'articles fréquents dans vos données transactionnellesDonnées enregistrant chaque événement métier au moment où il se produit (vente, stock, clic). Elles incluent horodatage, acteurs, quantités et montants pour alimenter les analyses de séries chronologiques.. Contrairement à une analyse de règles complète, fism se concentre sur l'algorithme FP-growth (Frequent Pattern Growth) pour identifier les combinaisons qui apparaissent souvent ensemble, sans forcément calculer la confiance ou le lift. C'est un excellent point de départ pour l'analyse du panier de la ménagère ou pour comprendre quelles options sont souvent choisies simultanément par vos clients. C'est un peu comme chercher les meilleurs amis dans une cour de récréation : on veut juste savoir qui traîne toujours avec qui !

Syntaxe Officielle
ruleMining.fism /
idVariable="nom-variable-id",
tgtVariable="nom-variable-cible",
items=entier,
nFis_Range={lower=entier, upper=entier},
out={name="table-sortie", replace=true},
outFreq={name="table-frequences", replace=true},
supmin=valeur-double,
suppct=pourcentage-double,
table={name="table-entree"};

Paramètres Clés

Nom du paramètre Description
idVariable Indique la variable qui identifie de manière unique chaque transaction ou panier (ex: l'ID du ticket de caisse).
tgtVariable Spécifie la variable cible contenant les articles ou les items à analyser (ex: le nom du produit).
items Définit le nombre d'articles requis dans un ensemble. Par défaut, l'action cherche des paires (valeur 2) si une table de sortie est spécifiée.
nFis_Range Permet de spécifier une plage (minimum et maximum) pour la taille des ensembles d'articles fréquents à extraire.
out Désigne la table CAS qui recevra les résultats des ensembles fréquents identifiés, avec leur nombre de transactions et leur support respectif.
outFreq Désigne la table CAS qui listera les items individuels fréquents (les 'meilleures ventes' solo).
supmin Le seuil de support minimum exprimé en nombre absolu de transactions. Plus ce chiffre est élevé, plus l'action est sélective (et rapide !).
suppct Le seuil de support minimum exprimé en pourcentage du nombre total de transactions. Pratique quand on change souvent de volume de données.
table Définit la table CAS contenant les données transactionnelles en entrée.

Préparation des données

Création de données de vente simulées

Ce code génère une petite table de transactions représentant des achats en magasin pour tester l'algorithme FP-growth.

1DATA casuser.ventes; INPUT id article $; DATALINES; 1 Lait 1 Pain 1 Beurre 2 Lait 2 Pain 3 Bière 3 Pain 4 Beurre 4 Pain 5 Lait 5 Beurre 5 Pain ; RUN;

Exemples d'utilisation

Détection basique des paires fréquentes

On recherche les ensembles de 2 articles apparaissant dans au moins 2 transactions (support minimum de 2).

1PROC CAS; ruleMining.fism / TABLE={name="ventes"}, idVariable="id", tgtVariable="article", supmin=2, out={name="itemsets", replace=true}; RUN; QUIT;
Résultat Attendu :
Une table 'itemsets' contenant les combinaisons d'articles fréquentes (ex: Lait + Pain) avec leur fréquence.
Analyse avancée avec plage de tailles et fréquences unitaires

Cet exemple utilise 'nFis_Range' pour trouver des ensembles de 1 à 3 articles, définit un support de 20%, et génère une table de fréquences pour les articles seuls.

1PROC CAS; ruleMining.fism / TABLE={name="ventes"}, idVariable="id", tgtVariable="article", suppct=20, nFis_Range={lower=1, upper=3}, out={name="itemsets_complets", replace=true}, outFreq={name="frequences_articles", replace=true}; RUN; QUIT;
Résultat Attendu :
Deux tables : 'itemsets_complets' pour les groupes de 1 à 3 articles, et 'frequences_articles' pour les statistiques individuelles par produit.