Berechnung Wichtiger Mining-Kennzahlen
Swipe um das Menü anzuzeigen
Support: Definition, Berechnung und Interpretation
Support misst, wie häufig ein bestimmtes Element oder Itemset in einem Transaktionsdatensatz vorkommt.
Mathematisch ist der Support für ein Itemset der Anteil der Transaktionen, die alle Elemente dieses Sets enthalten. Im Einzelhandelskontext hilft der Support dabei zu verstehen, wie verbreitet eine Produktkombination bei allen Einkäufen ist.
Support(itemset) = Number of transactions containing itemset / Total number of transactions
Ein höherer Support-Wert bedeutet, dass das Itemset in den Daten häufiger vorkommt und somit ein Kandidat für weitere Analysen oder Aktionen ist. Wenn beispielsweise "bread and butter" gemeinsam in 30 von 100 Transaktionen erscheinen, beträgt der Support für {"bread", "butter"} 0,3.
Confidence: Formel, Bedeutung und praktische Anwendung
Konfidenz bewertet die Wahrscheinlichkeit, dass ein Kunde, der Artikel A kauft, auch Artikel B kauft.
Sie wird berechnet als das Verhältnis der Transaktionen, die sowohl A als auch B enthalten, zur Anzahl der Transaktionen, die nur A enthalten.
Confidence(A ⇒ B) = Number of transactions containing both A and B / Number of transactions containing A
In der Praxis zeigt die Konfidenz, wie zuverlässig die Regel "wenn A, dann B" ist. Ist die Konfidenz hoch, kann man sicherer davon ausgehen, dass Kunden, die A kaufen, auch B kaufen. Dies ist nützlich für gezielte Empfehlungen oder Marketing.
Lift: Herleitung, Messung und Bedeutung
Lift bewertet, wie viel wahrscheinlicher Artikel B gekauft wird, wenn Artikel A gekauft wird, im Vergleich dazu, wenn die Käufe von A und B unabhängige Ereignisse wären.
Berechnung durch Division der Konfidenz der Regel durch die Unterstützung des Konsequenzteils (B):
Lift(A ⇒ B) = Konfidenz(A ⇒ B) / Unterstützung(B)
Ein Lift-Wert von 1 impliziert keine Assoziation (Unabhängigkeit), ein Wert größer als 1 weist auf eine positive Assoziation hin, und ein Wert kleiner als 1 deutet auf eine negative Assoziation hin. Der Lift ist entscheidend, da er die Popularität des Konsequenzteils berücksichtigt und so hilft, wirklich bedeutende Zusammenhänge von zufälligen zu unterscheiden.
Durchgerechnetes Beispiel: Berechnung von Unterstützung, Konfidenz und Lift
Angenommen, Sie haben folgende Transaktionsdaten:
- Transaktion 1: Milk, Bread;
- Transaktion 2: Milk, Diaper, Beer, Bread;
- Transaktion 3: Milk, Diaper, Beer, Cola;
- Transaktion 4: Bread, Butter.
Berechnen wir die Kennzahlen für die Regel: Milk ⇒ Bread.
-
Support(Milk, Bread): Kommt in Transaktion 1 und 2 vor (2 von 4) ⇒ 0,5;
-
Support(Milk): Kommt in Transaktion 1, 2 und 3 vor (3 von 4) ⇒ 0,75;
-
Support(Bread): Kommt in Transaktion 1, 2 und 4 vor (3 von 4) ⇒ 0,75.
-
Confidence(Milk ⇒ Bread): Support(Milk, Bread) / Support(Milk) = 0,5 / 0,75 = 0,6667;
-
Lift(Milk ⇒ Bread): Confidence(Milk ⇒ Bread) / Support(Bread) = 0,6667 / 0,75 = 0,8889.
Das bedeutet, dass „Milk“ und „Bread“ zwar häufig zusammen gekauft werden, der Kauf von „Milk“ jedoch die Wahrscheinlichkeit, „Bread“ zu kaufen, im Vergleich zum Ausgangswert nicht erhöht.
123456789101112131415161718192021222324252627282930import pandas as pd from mlxtend.preprocessing import TransactionEncoder # Sample transaction data data = [ ['Milk', 'Bread'], ['Milk', 'Diaper', 'Beer', 'Bread'], ['Milk', 'Diaper', 'Beer', 'Cola'], ['Bread', 'Butter'] ] # Converting to DataFrame with one-hot encoding te = TransactionEncoder() te_ary = te.fit(data).transform(data) df = pd.DataFrame(te_ary, columns=te.columns_) # Calculating support support_milk = df['Milk'].mean() support_bread = df['Bread'].mean() support_milk_bread = (df['Milk'] & df['Bread']).mean() # Calculating confidence for rule: Milk => Bread confidence = support_milk_bread / support_milk # Calculating lift for rule: Milk => Bread lift = confidence / support_bread print(f"Support (Milk & Bread): {support_milk_bread:.2f}") print(f"Confidence (Milk ⇒ Bread): {confidence:.2f}") print(f"Lift (Milk ⇒ Bread): {lift:.2f}")
Dieser Code zeigt, wie zentrale Kennzahlen von Assoziationsregeln—Support, Konfidenz und Lift—anhand eines kleinen Transaktionsdatensatzes berechnet werden. Die einzelnen Schritte im Überblick:
-
Vorbereitung der Transaktionsdaten:
- Die Liste
dataenthält Transaktionen, jeweils als Liste der gekauften Artikel; - Jede Unterliste stellt einen einzelnen Einkaufskorb eines Kunden dar.
- Die Liste
-
One-Hot-Encoding der Transaktionen:
- Der Code verwendet
TransactionEncoderaus der Bibliothekmlxtend, um die Artikellisten in ein für die Analyse geeignetes Format zu bringen; fitermittelt alle eindeutigen Artikel, undtransformerstellt ein boolesches Array (True, wenn der Artikel in der Transaktion enthalten ist, sonst False);- Dieses Array wird in ein pandas DataFrame umgewandelt, wobei jede Spalte einen Artikel und jede Zeile eine Transaktion repräsentiert.
- Der Code verwendet
-
Berechnung des Supports:
support_milk = df['Milk'].mean()berechnet den Anteil der Transaktionen mit „Milk“;support_bread = df['Bread'].mean()berechnet den Anteil mit „Bread“;support_milk_bread = (df['Milk'] & df['Bread']).mean()berechnet den Anteil der Transaktionen mit sowohl „Milk“ als auch „Bread“ (Schnittmenge der beiden Spalten).
-
Berechnung der Konfidenz:
confidence = support_milk_bread / support_milkberechnet die Konfidenz für die Regel „Milk ⇒ Bread“;- Misst, wie oft „Bread“ gekauft wird, wenn „Milk“ gekauft wird.
-
Berechnung des Lifts:
lift = confidence / support_breadberechnet den Lift für die Regel;- Der Lift vergleicht die beobachtete Konfidenz mit der erwarteten Konfidenz, falls „Milk“ und „Bread“ unabhängig voneinander gekauft würden.
-
Ausgabe und Interpretation der Ergebnisse:
- Der Code gibt die Werte für Support, Konfidenz und Lift für „Milk & Bread“ aus;
- Ein Support von 0,50 bedeutet, dass „Milk“ und „Bread“ gemeinsam in der Hälfte der Transaktionen gekauft werden;
- Eine Konfidenz von 0,67 bedeutet, dass beim Kauf von „Milk“ in zwei Dritteln der Fälle auch „Bread“ gekauft wird;
- Ein Lift von 0,89 deutet darauf hin, dass der Kauf von „Milk“ den Kauf von „Bread“ im Vergleich zum Zufall sogar leicht unwahrscheinlicher macht (da Lift < 1).
1. Angenommen, in einem Datensatz mit 1.000 Transaktionen enthalten 150 Transaktionen sowohl "Äpfel" als auch "Bananen". Wie hoch ist der Support für das Itemset {"Äpfel", "Bananen"}?
2. Welche Aussage unterscheidet Konfidenz und Lift im Association Rule Mining am besten?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen