Python ist eine leistungsstarke Programmiersprache, die in verschiedenen Bereichen eingesetzt werden kann, darunter Data Mining und maschinelles Lernen. Im Bereich Data Mining ist das Assoziationsregel-Mining eine häufig verwendete Technik, mit der Beziehungen zwischen verschiedenen Elementen in einem Datensatz und die Auswirkungen dieser Beziehungen auf andere Dinge ermittelt werden können. In diesem Artikel werden kurz Assoziationsregel-Mining-Techniken in Python vorgestellt.
Der Apriori-Algorithmus ist ein klassischer Algorithmus im Bereich Assoziationsregel-Mining, mit dem häufige Elementmengen und Assoziationsregeln in Datensätzen ermittelt werden können. Häufige Itemsets beziehen sich auf die Menge von Items, die im Datensatz häufiger vorkommen, während sich Assoziationsregeln auf die Beziehung zwischen zwei oder mehr Items beziehen. Sie können gleichzeitig auftreten, oder das Auftreten eines anderen bedeutet, dass auch das andere wahrscheinlich ist erscheinen.
Sie können die Apriori-Funktion in der mlxtend-Bibliothek verwenden, um den Apriori-Algorithmus in Python zu implementieren. Das Folgende ist ein einfacher Beispielcode:
from mlxtend.frequent_patterns import apriori # 构建数据集 data = [['牛奶', '面包', '啤酒'], ['奶酪', '面包', '黄油'], ['牛奶', '面包', '黄油', '鸡蛋'], ['奶酪', '黄油', '鸡蛋'], ['面包', '啤酒']] # 使用apriori算法挖掘频繁项集 frequent_itemsets = apriori(data, min_support=0.6) # 输出频繁项集 print(frequent_itemsets)
Im obigen Code definieren wir zunächst einen Datensatz, der den Inhalt von fünf Einkaufskörben enthält. Verwenden Sie dann die Funktion apriori in der mlxtend-Bibliothek, um häufige Itemsets zu ermitteln. Der erste Parameter der Funktion ist der Datensatz und der zweite Parameter ist der minimale Unterstützungsschwellenwert, der hier auf 0,6 festgelegt ist.
Im Ausgabeergebnis können wir sehen, dass der Algorithmus zwei häufige Itemsets gefunden hat: ['Bread'] und ['Milk', 'Bread']. Dies bedeutet, dass in diesem Datensatz die meisten Menschen Brot kaufen, gefolgt von Milch und Brot. Durch Anpassen des Unterstützungsschwellenwerts können wir häufige Artikelgruppen unterschiedlicher Größe erkennen.
Nachdem wir häufige Itemsets entdeckt haben, können wir weiterhin Assoziationsregeln extrahieren. Assoziationsregeln können uns helfen, die Wahrscheinlichkeit zu verstehen, mit der bestimmte Elemente zusammen angezeigt werden, oder die Wahrscheinlichkeit, dass ein Element zusammen mit einem anderen Element angezeigt wird.
Sie können die Funktion „association_rules“ in der mlxtend-Bibliothek verwenden, um Assoziationsregeln in Python zu extrahieren. Hier ist ein einfacher Beispielcode:
from mlxtend.frequent_patterns import association_rules, apriori data = [['牛奶', '面包', '啤酒'], ['奶酪', '面包', '黄油'], ['牛奶', '面包', '黄油', '鸡蛋'], ['奶酪', '黄油', '鸡蛋'], ['面包', '啤酒']] # 使用apriori算法挖掘频繁项集 frequent_itemsets = apriori(data, min_support=0.6) # 使用association_rules函数提取关联规则 rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.8) # 输出关联规则 print(rules)
Im obigen Code verwenden wir zunächst den Apriori-Algorithmus, um die häufigen Itemsets im Datensatz zu finden. Verwenden Sie dann die Funktion „assoziation_rules“, um Assoziationsregeln zu extrahieren. Der erste Parameter der Funktion ist der häufige Elementsatz, der zweite Parameter ist der Indikator zur Bewertung der Assoziationsregeln, hier wird die Konfidenz (Konfidenz) ausgewählt, und der dritte Parameter ist der minimale Konfidenzschwellenwert, der hier auf 0,8 eingestellt ist.
In der Ausgabe können wir sehen, dass der Algorithmus eine Assoziationsregel mit einem Konfidenzniveau von 1,0 gefunden hat: „Brot“ => „Bier“. Das bedeutet, dass 100 % der Menschen, die Brot kauften, auch Bier kauften. Diese Assoziationsregel kann in Empfehlungssystemen verwendet werden, um Benutzern Produkte zu empfehlen.
Der FP-Growth-Algorithmus ist ein weiterer klassischer Algorithmus im Bereich Assoziationsregel-Mining. Er ist schneller als der Apriori-Algorithmus und kann große Datensätze verarbeiten.
Die pyfpgrowth-Bibliothek kann in Python verwendet werden, um den FP-Growth-Algorithmus zu implementieren. Das Folgende ist ein einfacher Beispielcode:
import pyfpgrowth # 构建数据集 data = [['牛奶', '面包', '啤酒'], ['奶酪', '面包', '黄油'], ['牛奶', '面包', '黄油', '鸡蛋'], ['奶酪', '黄油', '鸡蛋'], ['面包', '啤酒']] # 使用FP-Growth算法挖掘频繁项集 patterns = pyfpgrowth.find_frequent_patterns(data, 2) # 使用FP-Growth算法提取关联规则 rules = pyfpgrowth.generate_association_rules(patterns, 0.8) # 输出频繁项集和关联规则 print(patterns) print(rules)
Im obigen Code definieren wir zunächst einen Datensatz und verwenden dann die Funktion find_frequent_patterns in der pyfpgrowth-Bibliothek, um häufige Itemsets zu ermitteln. Der erste Parameter der Funktion ist der Datensatz und der zweite Parameter ist der Unterstützungsschwellenwert. Hier legen wir die Unterstützungsschwelle auf 2 fest, was bedeutet, dass jedes Artikelset in mindestens zwei Warenkörben erscheinen muss. Die Funktion gibt ein Wörterbuch zurück, das alle häufigen Itemsets und deren Unterstützungsanzahl enthält.
Verwenden Sie dann die Funktion „generate_association_rules“ in der pyfpgrowth-Bibliothek, um Assoziationsregeln zu extrahieren. Der erste Parameter der Funktion ist ein Wörterbuch häufiger Itemsets und der zweite Parameter ist der Konfidenzschwellenwert. Hier legen wir den Konfidenzschwellenwert auf 0,8 fest.
In der Ausgabe können wir sehen, dass der Algorithmus zwei häufige Itemsets gefunden hat: ('Brot',) und ('Brot', 'Milch'). Gleichzeitig extrahierte der Algorithmus eine Assoziationsregel mit einem Konfidenzniveau von 1,0: ('Brot',) => ('Bier',). Das bedeutet, dass 100 % der Menschen, die Brot kaufen, auch Bier kaufen. Darüber hinaus können Sie auch andere Assoziationsregeln mit Konfidenzniveaus über 0,8 sehen.
Zusammenfassung
Association Rule Mining ist eine sehr nützliche Data-Mining-Technik, mit der Beziehungen zwischen verschiedenen Elementen in einem Datensatz und die Auswirkungen dieser Beziehungen auf andere Dinge ermittelt werden können. Python bietet eine Vielzahl von Methoden zur Implementierung des Assoziationsregel-Minings, einschließlich des Apriori-Algorithmus und des FP-Growth-Algorithmus. Bei der spezifischen Implementierung müssen Sie auch auf die Schwellenwerteinstellungen häufiger Itemsets und Assoziationsregeln achten und darauf achten, wie diese auf tatsächliche Probleme angewendet werden.
Das obige ist der detaillierte Inhalt vonAssoziationsregel-Mining-Techniken in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!