Heim Backend-Entwicklung Python-Tutorial Assoziationsregel-Mining-Techniken in Python

Assoziationsregel-Mining-Techniken in Python

Jun 09, 2023 pm 11:07 PM
python 关联规则 挖掘技巧

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.

  1. Apriori-Algorithmus

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)
Nach dem Login kopieren

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.

  1. Extraktion von Assoziationsregeln

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)
Nach dem Login kopieren

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.

  1. FP-Growth-Algorithmus

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)
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Können Python -Parameteranmerkungen Zeichenfolgen verwenden? Können Python -Parameteranmerkungen Zeichenfolgen verwenden? Apr 01, 2025 pm 08:39 PM

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Apr 01, 2025 pm 11:30 PM

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Apr 01, 2025 pm 08:09 PM

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Wie kann man Go oder Rost verwenden, um Python -Skripte anzurufen, um eine echte parallele Ausführung zu erreichen? Wie kann man Go oder Rost verwenden, um Python -Skripte anzurufen, um eine echte parallele Ausführung zu erreichen? Apr 01, 2025 pm 11:39 PM

Wie kann man Go oder Rost verwenden, um Python -Skripte anzurufen, um eine echte parallele Ausführung zu erreichen? Vor kurzem habe ich Python verwendet ...

Wo kann man Python .WHL -Dateien unter Windows herunterladen? Wo kann man Python .WHL -Dateien unter Windows herunterladen? Apr 01, 2025 pm 08:18 PM

Python Binary Library (.WHL) -Download -Methode untersucht die Schwierigkeiten, die viele Python -Entwickler bei der Installation bestimmter Bibliotheken auf Windows -Systemen auftreten. Eine gemeinsame Lösung ...

See all articles