Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Berechnung Wichtiger Mining-Kennzahlen | Grundlagen von Assoziationsregeln und Transaktionsanalyse
Market Basket Analyse und Empfehlungssysteme

Berechnung Wichtiger Mining-Kennzahlen

Swipe um das Menü anzuzeigen

Support: Definition, Berechnung und Interpretation

Note
Definition

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

Note
Definition

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

Note
Definition

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.

123456789101112131415161718192021222324252627282930
import 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:

  1. Vorbereitung der Transaktionsdaten:

    • Die Liste data enthält Transaktionen, jeweils als Liste der gekauften Artikel;
    • Jede Unterliste stellt einen einzelnen Einkaufskorb eines Kunden dar.
  2. One-Hot-Encoding der Transaktionen:

    • Der Code verwendet TransactionEncoder aus der Bibliothek mlxtend, um die Artikellisten in ein für die Analyse geeignetes Format zu bringen;
    • fit ermittelt alle eindeutigen Artikel, und transform erstellt 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.
  3. 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).
  4. Berechnung der Konfidenz:

    • confidence = support_milk_bread / support_milk berechnet die Konfidenz für die Regel „Milk ⇒ Bread“;
    • Misst, wie oft „Bread“ gekauft wird, wenn „Milk“ gekauft wird.
  5. Berechnung des Lifts:

    • lift = confidence / support_bread berechnet 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.
  6. 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?

question-icon

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"}?

question mark

Welche Aussage unterscheidet Konfidenz und Lift im Association Rule Mining am besten?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 2
some-alt