Lernpfad
Association Rule Mining ist für Unternehmen unverzichtbar geworden, um Kundenverhalten und Kaufmuster zu verstehen. Diese Technik identifiziert Artikel, die häufig zusammen gekauft werden, und hilft so, Platzierungen, Promotions und Empfehlungen zu optimieren. Solche Analysen verbessern die Geschäftsstrategie, indem sie Trends sichtbar machen, die in Transaktionsdaten verborgen sind.
Der Apriori-Algorithmus ist eine der beliebtesten Methoden, um solche Assoziationsregeln zu entdecken – dank seiner Einfachheit und praxistauglichen Ergebnisse. Im Gegensatz zu komplexeren Ansätzen ist Apriori leicht nachvollziehbar, ideal für Einsteiger und zugleich in realen Anwendungen effektiv.
Dieser Artikel erklärt den Apriori-Algorithmus, veranschaulicht seinen Ablauf mit klaren Beispielen und zeigt, wie du ihn effektiv einsetzt. Wenn du Machine-Learning-Konzepte praktisch erproben willst, schau dir unseren Machine Learning Scientist in Python-Lernpfad an.
Was ist der Apriori-Algorithmus?
Wie du in unserem Tutorial zu Association Rule Mining in Python erfährst, ist Apriori ein Algorithmus, der häufige Itemsets aus Transaktionsdatenbanken extrahiert und daraus Assoziationsregeln generiert. Er beruht auf dem Prinzip: Wenn ein Itemset häufig ist, sind alle seine Teilmengen ebenfalls häufig. Diese Annahme reduziert die Zahl zu prüfender Itemsets und macht den Prozess effizient.
Itemsets und Transaktionen
Ein Datensatz für Apriori besteht typischerweise aus Transaktionen, wobei jede Transaktion eine Zusammenstellung gemeinsam gekaufter Artikel ist. Verkaufsdaten eines Supermarkts könnten zum Beispiel folgende Transaktionen enthalten:
- Milch, Brot, Butter
- Milch, Windeln, Bier, Brot
- Windeln, Bier, Butter
Jede dieser Transaktionen steht für einen Warenkorb, der in einem Einkauf gekauft wurde. Unser Market Basket Analysis in Python-Kurs geht detaillierter auf die praktische Anwendung in Python ein.

Support, Confidence und Lift
Association Rule Mining basiert auf drei zentralen Kennzahlen:
Support: Die Häufigkeit, mit der ein Item im Datensatz vorkommt. Berechnet als:

Confidence: Die Wahrscheinlichkeit, dass Artikel B gekauft wird, wenn Artikel A gekauft wird. Gegeben durch:

Lift: Die Stärke einer Regel. Misst, wie viel wahrscheinlicher B gekauft wird, wenn A gekauft wird, verglichen mit einem unabhängigen Kauf:

Ein Lift-Wert größer als 1 deutet auf eine starke positive Assoziation zwischen Artikeln hin.
So funktioniert der Apriori-Algorithmus
Schauen wir uns nun an, wie der Apriori-Algorithmus arbeitet.

Schritt-für-Schritt-Ablauf
- Kandidaten-Itemsets erzeugen: Der Algorithmus beginnt mit einzelnen Items und zählt deren Vorkommen, um häufige Items zu bestimmen.
- Auf Mindest-Support beschneiden: Itemsets, deren Support unter dem Schwellwert liegt, werden entfernt.
- Häufige Itemsets generieren: Aus häufigen kleineren Itemsets werden größere kombiniert, bis keine weiteren häufigen Itemsets mehr entstehen.
- Assoziationsregeln ableiten: Regeln werden anhand von Confidence und Lift extrahiert, um sinnvolle Zusammenhänge zu finden.
Beispiel-Durchlauf
Betrachte einen Datensatz mit folgenden Transaktionen:
- Milch, Brot
- Milch, Butter
- Milch, Brot, Butter
- Brot, Butter
Mit einem Mindest-Support von 50% identifiziert der Algorithmus häufige Itemsets und extrahiert Regeln wie:
- Milch → Brot: Confidence: 66,7%
- Brot → Butter: Confidence: 66,7%
Solche Regeln helfen Unternehmen, Kaufverhalten zu verstehen und Bestände zu optimieren.
Den Apriori-Algorithmus in Python implementieren
In diesem Abschnitt lernst du, wie du den Apriori-Algorithmus in Python umsetzt.
Umgebung einrichten
Um Apriori in Python zu nutzen, installiere die benötigten Bibliotheken:
pip install mlxtend pandas
Daten laden und vorbereiten
Als Nächstes lädst du die Pakete und bereitest die Daten auf:
import pandas as pd
from mlxtend.frequent_patterns import apriori, association_rules
# Expanded dataset
data = {
'Milk': [1, 1, 0, 1, 0, 1, 0, 1, 1, 0],
'Bread': [1, 0, 1, 1, 1, 0, 1, 0, 1, 1],
'Butter': [0, 1, 1, 1, 1, 1, 0, 1, 1, 0],
'Eggs': [1, 0, 0, 1, 1, 1, 1, 0, 0, 1],
'Cheese': [0, 1, 1, 0, 1, 1, 0, 1, 0, 1],
'Diaper': [0, 1, 0, 1, 0, 1, 1, 1, 0, 0],
'Beer': [1, 0, 1, 0, 1, 0, 1, 0, 1, 1]
}
df = pd.DataFrame(data)
Den Apriori-Algorithmus anwenden
Nun wendest du den Algorithmus an.
# Generating frequent itemsets
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
Anschließend erhalten wir die Assoziationsregeln:
# Generating frequent itemsets
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
# Generating association rules
rules = association_rules(frequent_itemsets, metric='confidence', min_threshold=0.6)
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])
antecedents consequents support confidence lift
0 (Butter) (Milk) 0.5 0.714286 1.190476
1 (Milk) (Butter) 0.5 0.833333 1.190476
2 (Bread) (Eggs) 0.5 0.714286 1.190476
3 (Eggs) (Bread) 0.5 0.833333 1.190476
4 (Bread) (Beer) 0.6 0.857143 1.428571
5 (Beer) (Bread) 0.6 1.000000 1.428571
6 (Butter) (Cheese) 0.5 0.714286 1.190476
7 (Cheese) (Butter) 0.5 0.833333 1.190476
Die Support-Werte (0,5 bis 0,6) zeigen, dass diese Zusammenhänge in 50–60% aller Transaktionen auftreten.
Die Confidence-Werte (0,71 bis 1,0) zeigen die Verlässlichkeit der Regeln. Einige wie Bier → Brot sind sicher (100% Confidence).
Die Lift-Werte (~1,2 bis 1,4) deuten auf moderate, aber aussagekräftige Zusammenhänge hin: Diese Artikelpaare treten etwas häufiger gemeinsam auf, als es der Zufall erwarten ließe.
Ergebnisse interpretieren
Um die erzeugten Assoziationsregeln besser zu verstehen, können wir sie mit Matplotlib visualisieren. Ein Scatterplot zeigt Confidence im Verhältnis zum Lift, während ein Netzwerkdiagramm den Support verschiedener Item-Kombinationen sichtbar macht.
import matplotlib.pyplot as plt
import networkx as nx
# Scatter plot of confidence vs lift
plt.figure(figsize=(8,6))
plt.scatter(rules['confidence'], rules['lift'], alpha=0.7, color='b')
plt.xlabel('Confidence')
plt.ylabel('Lift')
plt.title('Confidence vs Lift in Association Rules')
plt.grid()
plt.show()
# Visualizing association rules as a network graph
G = nx.DiGraph()
for _, row in rules.iterrows():
G.add_edge(tuple(row['antecedents']), tuple(row['consequents']), weight=row['confidence'])
plt.figure(figsize=(10, 6))
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', edge_color='gray', node_size=3000, font_size=10)
edge_labels = {(tuple(row['antecedents']), tuple(row['consequents'])): f"{row['confidence']:.2f}"
for _, row in rules.iterrows()}
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
plt.title("Association Rules Network")
plt.show()
Der Scatterplot hilft, Regeln mit starken Zusammenhängen zu erkennen, während das Netzwerkdiagramm visualisiert, wie einzelne Artikel miteinander verbunden sind. Diese Insights unterstützen Entscheidungen in Handel, Empfehlungen und Betrugserkennung.

Der Scatterplot zeigt die Beziehung zwischen Confidence und Lift für die generierten Assoziationsregeln. Zentrale Beobachtungen:
- Die Punkte verteilen sich in einem Confidence-Bereich von 0,7 bis 1,0.
- Die Lift-Werte liegen überwiegend zwischen 1,19 und 1,43, was auf sinnvolle, aber nicht extrem starke Regeln hinweist.
- Eine Confidence von 1,0 bei einem Lift von 1,43 (Bier → Brot) bedeutet: Sobald Bier gekauft wird, ist Brot stets in der Transaktion enthalten – eine sehr verlässliche Regel.

Das Netzwerkdiagramm stellt die Verbindungen zwischen verschiedenen Artikeln visuell dar:
- Milch und Butter sind stark assoziiert – wer das eine kauft, nimmt häufig das andere mit.
- Brot und Eier zeigen ein ähnliches Muster – ein gängiges Kaufverhalten.
- Bier und Brot weisen die höchste Confidence (1,0) auf: In allen Transaktionen mit Bier ist Brot enthalten.
Anwendungsfälle des Apriori-Algorithmus
Unternehmen setzen den Apriori-Algorithmus breit ein, um unterschiedliche Probleme zu lösen. Hier sind typische Beispiele.
Market-Basket-Analyse
Händler analysieren mit Apriori Kaufmuster, um Produkte so anzuordnen, dass kombinierte Käufe gefördert werden. Tauchen etwa Brot und Butter häufig zusammen auf, könnten sie im Laden nah beieinander platziert werden, um den Absatz zu steigern. Mehr zur Market-Basket-Analyse erfährst du in unserem Tutorial zur Market-Basket-Analyse mit R.
Empfehlungssysteme
Online-Plattformen nutzen Apriori, um Produkte basierend auf früheren Käufen vorzuschlagen. Kauft jemand einen Laptop, könnten passende Zubehörteile wie Maus oder Tastatur empfohlen werden.
Anomalieerkennung
Bei der Betrugserkennung identifiziert Apriori ungewöhnliche Transaktionen, indem sie mit erwarteten Mustern verglichen werden. Weicht eine Kreditkartentransaktion stark von etablierten Regeln ab, kann dies eine Sicherheitsprüfung auslösen. In der Anomalieerkennung wird Apriori zwar nicht direkt genutzt, um Anomalien zu finden, es kann jedoch seltene oder unerwartete Item-Kombinationen aufdecken, die deutlich von gängigen Kaufmustern abweichen.

Vorteile und Grenzen
Der Einsatz des Apriori-Algorithmus bringt mehrere Vor- und Nachteile mit sich, wie du unten siehst.
Vorteile
Apriori ist leicht zu verstehen und effektiv darin, häufige Itemsets in strukturierten Datensätzen zu entdecken. Er wird in Branchen wie Handel und Gesundheitswesen breit zur Mustererkennung eingesetzt.
Grenzen
Bei sehr großen Datensätzen wird der Algorithmus langsam, da er viele Kandidaten-Itemsets erzeugt. In Daten mit hohem Volumen bieten alternative Methoden wie FP-Growth eine bessere Performance.

Fazit
Apriori zählt weiterhin zu den nützlichsten Techniken, um Zusammenhänge in Daten aufzuspüren. Trotz gewisser Rechenaufwände liefert er wertvolle Einsichten, mit denen Unternehmen Kundenerlebnisse verbessern und den Umsatz steigern.
Auch wenn er für sehr große Datensätze nicht der schnellste Ansatz ist, bleibt er ein zentrales Werkzeug im Data Mining, in der Analytics und im Machine Learning. Wenn du tiefer einsteigen willst, entdecke Machine Learning mit Python und arbeite darauf hin, Machine Learning Scientist zu werden – mit unserem Machine Learning Scientist in Python-Lernpfad.
Apriori-Algorithmus: FAQs
Wofür wird der Apriori-Algorithmus verwendet?
Der Apriori-Algorithmus wird im Data Mining eingesetzt, um häufige Itemsets zu identifizieren und daraus Assoziationsregeln in großen Datensätzen abzuleiten. Typische Einsatzfelder sind Market-Basket-Analysen, Empfehlungssysteme und Betrugserkennung.
Wie funktioniert der Apriori-Algorithmus?
Apriori identifiziert zunächst häufig vorkommende einzelne Items in einem Datensatz und bildet darauf aufbauend größere Itemsets. Itemsets, die einen Mindest-Support nicht erreichen, werden verworfen. Anschließend werden Assoziationsregeln mithilfe der Kennzahlen Confidence und Lift abgeleitet.
Was sind Support, Confidence und Lift bei Apriori?
Support: Die Häufigkeit eines Itemsets im Datensatz.
Confidence: Die Wahrscheinlichkeit, dass ein Item in einer Transaktion auftritt, wenn ein anderes Item vorhanden ist.
Lift: Die Stärke der Assoziation, also ob Items häufiger gemeinsam gekauft werden, als zu erwarten wäre.
Was sind die Grenzen des Apriori-Algorithmus?
Apriori kann bei großen Datensätzen langsam sein, da sehr viele Kandidaten-Itemsets entstehen. Zudem tut sich der Ansatz mit dichten Datensätzen schwer, in denen viele Items häufig gemeinsam auftreten. Der FP-Growth-Algorithmus ist in solchen Fällen oft performanter.
Worin besteht der Unterschied zwischen Apriori und FP-Growth?
Apriori erzeugt Kandidaten-Itemsets und prüft ihren Support iterativ, was rechnerisch aufwendig ist. FP-Growth nutzt dagegen eine Baumstruktur, reduziert so die Anzahl der Kandidaten und ist bei großen Datensätzen schneller.


