ruleMining

fism

Description

L'action `fism` (Frequent Item Set Mining) applique l'algorithme FP-growth pour identifier les ensembles d'éléments fréquents dans une table de données transactionnelles. Elle est fondamentale pour l'analyse de panier (market basket analysis) afin de déterminer quels articles sont souvent regroupés. Elle calcule la fréquence et le support des ensembles d'items, préparant ainsi les données pour la génération de règles d'association.

ruleMining.fism <result=results> <status=rc> / * idVariable="variable-name", items=integer, nFis_Range={ lower=integer, upper=integer }, out={casouttable}, outFreq={casouttable}, supmin=double, suppct=double, * table={castable}, * tgtVariable="variable-name";
Paramètres
ParamètreDescription
idVariableSpécifie la variable utilisée pour regrouper la variable cible en paniers (ex: identifiant de transaction).
tgtVariableSpécifie la variable nominale contenant les éléments (items) à analyser.
tableSpécifie la table d'entrée contenant les transactions.
suppctDéfinit le niveau de support minimum en pourcentage du nombre total de paniers (0-100).
supminDéfinit le niveau de support minimum en valeur absolue (nombre d'occurrences). Remplace `suppct` si utilisé.
itemsSpécifie le nombre d'éléments dans un ensemble (taille de l'item set). La valeur par défaut est 2 si une table de sortie est demandée.
outTable de sortie contenant les ensembles d'éléments fréquents, leurs comptes de transactions et leur support.
outFreqTable de sortie contenant les éléments fréquents uniques avec leurs statistiques.
nFis_RangeSpécifie une plage (minimum `lower` et maximum `upper`) pour la taille des ensembles d'éléments fréquents à générer.
Préparation des Données Voir la fiche de ce code dataprep
Création de données de transaction

Création d'une table CAS simple représentant des paniers d'achats avec un identifiant de transaction (ID) et des articles (Item).

Copié !
1DATA mycas.achats;
2 LENGTH Item $10;
3 INPUT ID Item $;
4 DATALINES;
51 Pomme
61 Banane
71 Orange
82 Pomme
92 Banane
103 Pomme
113 Banane
123 Orange
134 Banane
144 Orange
155 Pomme
165 Banane
175 Orange
185 Raisin
19;
20RUN;

Exemples

Exécution de l'action fism pour trouver les ensembles d'articles apparaissant dans au moins 40% des transactions.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 ruleMining.fism /
3 TABLE={name="achats"}
4 idVariable="ID"
5 tgtVariable="Item"
6 suppct=40
7 out={name="ensembles_frequents", replace=true}
8 outFreq={name="frequence_items", replace=true};
9RUN;
Résultat :
Génère deux tables : `frequence_items` avec le compte des articles individuels, et `ensembles_frequents` avec les paires (ex: Pomme et Banane) respectant le seuil de 40%.

Utilisation de `supmin` pour un seuil absolu (2 occurrences) et restriction de la taille des ensembles fréquents entre 2 et 3 articles via `nFis_Range`.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 ruleMining.fism /
3 TABLE={name="achats"}
4 idVariable="ID"
5 tgtVariable="Item"
6 supmin=2
7 items=3
8 nFis_Range={lower=2, upper=3}
9 out={name="ensembles_avances", replace=true};
10 TABLE.fetch / TABLE="ensembles_avances";
11RUN;
Résultat :
Produit la table `ensembles_avances` contenant uniquement les combinaisons de 2 ou 3 articles qui apparaissent au moins 2 fois dans les données (ex: {Pomme, Banane, Orange}).

FAQ

Quel est l'objectif principal de l'action fism ?
À quoi sert le paramètre idVariable ?
Comment spécifier la variable cible pour l'analyse ?
Quel paramètre permet de définir le nombre d'articles dans une règle ?
Comment contrôler la taille des ensembles d'articles fréquents ?
Quelles sont les tables de sortie générées par l'action fism ?
Quelle est la différence entre les paramètres supmin et suppct ?
Dans quel ensemble d'actions se trouve l'action fism ?