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.
| Paramètre | Description |
|---|---|
| idVariable | Spécifie la variable utilisée pour regrouper la variable cible en paniers (ex: identifiant de transaction). |
| tgtVariable | Spécifie la variable nominale contenant les éléments (items) à analyser. |
| table | Spécifie la table d'entrée contenant les transactions. |
| suppct | Définit le niveau de support minimum en pourcentage du nombre total de paniers (0-100). |
| supmin | Définit le niveau de support minimum en valeur absolue (nombre d'occurrences). Remplace `suppct` si utilisé. |
| items | Spé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. |
| out | Table de sortie contenant les ensembles d'éléments fréquents, leurs comptes de transactions et leur support. |
| outFreq | Table de sortie contenant les éléments fréquents uniques avec leurs statistiques. |
| nFis_Range | Spécifie une plage (minimum `lower` et maximum `upper`) pour la taille des ensembles d'éléments fréquents à générer. |
Création d'une table CAS simple représentant des paniers d'achats avec un identifiant de transaction (ID) et des articles (Item).
| 1 | DATA mycas.achats; |
| 2 | LENGTH Item $10; |
| 3 | INPUT ID Item $; |
| 4 | DATALINES; |
| 5 | 1 Pomme |
| 6 | 1 Banane |
| 7 | 1 Orange |
| 8 | 2 Pomme |
| 9 | 2 Banane |
| 10 | 3 Pomme |
| 11 | 3 Banane |
| 12 | 3 Orange |
| 13 | 4 Banane |
| 14 | 4 Orange |
| 15 | 5 Pomme |
| 16 | 5 Banane |
| 17 | 5 Orange |
| 18 | 5 Raisin |
| 19 | ; |
| 20 | RUN; |
Exécution de l'action fism pour trouver les ensembles d'articles apparaissant dans au moins 40% des transactions.
| 1 | PROC 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}; |
| 9 | RUN; |
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`.
| 1 | PROC 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"; |
| 11 | RUN; |