Die Aktion fism (Frequent Item Set Mining) wendet den FP-Growth-Algorithmus an, um häufige Itemsets in Transaktionsdaten zu identifizieren. Sie ist ein wesentlicher Bestandteil der Assoziationsanalyse (z. B. Warenkorbanalyse) und berechnet die Häufigkeit (Support) von Kombinationen von Items. Die Aktion ermöglicht die Steuerung der Analyse durch Parameter für minimalen Support und die Größe der Itemsets.
| Parameter | Beschreibung |
|---|---|
| idVariable | Gibt die Variable an, die die Transaktionen (Warenkörbe) gruppiert (z. B. Kunden-ID oder Transaktionsnummer). |
| tgtVariable | Gibt die Zielvariable an, die die Items enthält (z. B. Produktname). |
| table | Die Eingabetabelle, die die zu analysierenden Transaktionsdaten enthält. |
| supmin | Gibt den minimalen Support als absolute Anzahl von Transaktionen an. Ein Itemset muss mindestens so oft vorkommen, um berücksichtigt zu werden. |
| suppct | Gibt den minimalen Support als Prozentsatz der Gesamttransaktionen an (Wertebereich 0-100). |
| nFis_Range | Definiert einen Bereich (lower/upper) für die Anzahl der Items in einem häufigen Itemset (z. B. Sets mit 1 bis 3 Produkten). |
| out | Gibt die Ausgabetabelle an, die die gefundenen häufigen Itemsets inklusive Transaktionsanzahl und Support enthält. |
| outFreq | Gibt eine Ausgabetabelle an, die die eindeutigen häufigen Items mit ihren Zählungen enthält. |
| items | Gibt die Anzahl der Items in einer Regel an (Standard ist 2). |
Erzeugt eine Tabelle mit Transaktionen, wobei 'TID' die Transaktions-ID und 'Item' das Produkt darstellt.
| 1 | |
| 2 | DATA mycas.market_data; |
| 3 | LENGTH TID $8 Item $20; |
| 4 | INPUT TID $ Item $; |
| 5 | DATALINES; |
| 6 | 101 Milk 101 Bread 101 Eggs 102 Milk 102 Bread 103 Milk 103 Eggs 104 Bread 104 Eggs 105 Milk 105 Bread 105 Eggs 105 Beer; |
| 7 | |
| 8 | RUN; |
| 9 |
Findet Itemsets, die in mindestens 2 Transaktionen vorkommen, basierend auf der Transaktions-ID.
| 1 | |
| 2 | PROC CAS; |
| 3 | ruleMining.fism / TABLE={name="market_data", caslib="casuser"} idVariable="TID" tgtVariable="Item" supmin=2 out={name="fism_sets", caslib="casuser", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Führt die Analyse durch, beschränkt die Itemsets auf eine Größe von 1 bis 3 Elementen und speichert zusätzlich die Frequenzen der einzelnen Items.
| 1 | |
| 2 | PROC CAS; |
| 3 | ruleMining.fism / TABLE={name="market_data", caslib="casuser"} idVariable="TID" tgtVariable="Item" supmin=2 nFis_Range={lower=1, upper=3} out={name="fism_sets_det", caslib="casuser", replace=true} outFreq={name="fism_freq_det", caslib="casuser", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |