Heim Backend-Entwicklung Python-Tutorial Detaillierte Erklärung des Apriori-Algorithmus in Python

Detaillierte Erklärung des Apriori-Algorithmus in Python

Jun 10, 2023 am 08:03 AM
数据挖掘 python编程 apriori算法

Der Apriori-Algorithmus ist eine gängige Methode zum Assoziationsregel-Mining im Bereich Data Mining und wird häufig in Business Intelligence, Marketing und anderen Bereichen eingesetzt. Als allgemeine Programmiersprache bietet Python auch mehrere Bibliotheken von Drittanbietern zur Implementierung des Apriori-Algorithmus. In diesem Artikel werden das Prinzip, die Implementierung und die Anwendung des Apriori-Algorithmus in Python ausführlich vorgestellt.

1. Prinzip des Apriori-Algorithmus

Bevor wir das Prinzip des Apriori-Algorithmus vorstellen, lernen wir zunächst die beiden Konzepte beim Assoziationsregel-Mining kennen: häufige Itemsets und Unterstützung.

Häufiges Elementset: Bezieht sich auf eine Reihe von Elementen, die häufig zusammen in einem bestimmten Datensatz vorkommen.

Unterstützung: Die Häufigkeit, mit der ein Artikelsatz in allen Transaktionen erscheint, wird als Unterstützung bezeichnet.

Beispielsweise liegt in den Transaktionsdaten eines Supermarkts die Häufigkeit der Kombination {Milch, Kuchen} bei allen Transaktionen bei 10 %. Dann beträgt die Unterstützung für diese Kombination 10 %.

Der Apriori-Algorithmus basiert auf dem Konzept häufiger Elementmengen und untersucht die Korrelation zwischen Elementen, indem er häufige Elementmengen Schicht für Schicht durchsucht. Die Idee ist wie folgt:

  1. Häufige Item-Sets von unten nach oben abbauen, beginnend mit einzelnen Item-Sets (d. h. einzeln gekauften Artikeln).
  2. Nur wenn die Unterstützung eines Artikelsets den voreingestellten Mindestunterstützungsschwellenwert erreicht, kann es als häufiges Artikelset betrachtet werden.
  3. Erstellen Sie einen starken Assoziationsregelsatz basierend auf häufigen Itemsets. Als starke Assoziationsregeln werden Regeln bezeichnet, bei denen die Verbindung zwischen dem Bedingungselement und dem Ergebniselement in der Assoziationsregel sehr eng ist.

Im Einzelnen ist der Implementierungsprozess des Apriori-Algorithmus wie folgt:

  1. Zählen Sie alle Elemente und erhalten Sie die Unterstützungsanzahl eines einzelnen Elementsatzes.
  2. Für jede einzelne Artikelgruppe, deren Unterstützung den Mindestunterstützungsschwellenwert erreicht, können sie als häufige Artikelgruppen betrachtet werden.
  3. Generieren Sie für jede häufige Elementmenge alle nicht leeren Teilmengen und berechnen Sie die Unterstützung jeder Teilmenge durch Zählen während des Generierungsprozesses.
  4. Wenn die Unterstützung der aktuell generierten Teilmenge den Mindestunterstützungsschwellenwert erreicht, wird die Teilmenge als häufiges Elementset gespeichert.
  5. Erstellen Sie einen starken Assoziationsregelsatz basierend auf häufigen Itemsets. Für eine häufige Itemmenge können Sie eine Teilmenge als Bedingung und den verbleibenden Teil als Ergebnis auswählen und deren Konfidenz berechnen. Wenn die Konfidenz den Mindestkonfidenzschwellenwert erreicht, wird die Assoziationsregel als starke Regel gespeichert.
  6. Führen Sie die Schritte 3 bis 5 iterativ durch, bis keine neuen häufigen Itemsets oder strengen Regeln mehr vorhanden sind.

Es ist zu beachten, dass die zeitliche Komplexität des Apriori-Algorithmus sehr hoch ist, da für jede nicht leere Teilmenge eine Unterstützungszählung erforderlich ist. Um den Rechenaufwand zu reduzieren, können einige Optimierungstechniken eingesetzt werden, beispielsweise die Verwendung von Hash-Tabellen und die Reduzierung von Kandidaten.

2. Python implementiert den Apriori-Algorithmus

Es gibt mehrere Bibliotheken von Drittanbietern in Python, die den Apriori-Algorithmus implementieren können, wie z. B. mlxtend, Orange usw. Im Folgenden wird mlxtend als Beispiel verwendet, um die Implementierungsschritte des Apriori-Algorithmus vorzustellen.

  1. MLxtend-Bibliothek installieren

MLxtend mit pip installieren:

pip install mlxtend
Nach dem Login kopieren
  1. Erforderliche Bibliotheken importieren

Numpy-Bibliothek und mlxtend-Bibliothek importieren:

import numpy as np
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
Nach dem Login kopieren
  1. Daten vorbereiten

Generieren Sie einen einfachen Transaktionsdatensatz, der 4 Transaktionen enthält Datensätze, jeder Datensatz besteht aus einigen Elementen:

dataset = [['牛奶', '面包', '啤酒', '尿布'],
           ['牛奶', '面包', '啤酒', '尿布'],
           ['面包', '啤酒', '尿布', '饼干'],
           ['牛奶', '尿布', '啤酒', '饼干']]
Nach dem Login kopieren
  1. Konvertieren Sie die Daten in eine boolesche Tabelle

Verwenden Sie TransactionEncoder, um die Daten in eine boolesche Tabelle zu konvertieren. In diesem Schritt werden häufige Elementsätze aus dem Transaktionsdatensatz extrahiert

te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
Nach dem Login kopieren

    Mining häufiger Itemsets
Verwenden Sie die Apriori-Funktion, um häufige Itemsets aus booleschen Tabellen zu minen:

frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
Nach dem Login kopieren

Durch Festlegen des Parameters min_support können Sie die Mindestunterstützung häufiger Itemsets steuern. Im obigen Code ist die Mindestunterstützung auf 0,5 festgelegt.

    Erstellen Sie einen starken Assoziationsregelsatz.
Basierend auf häufigen Elementsätzen verwenden Sie die Funktion „assoziation_rules“, um einen starken Assoziationsregelsatz zu erstellen:

rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
Nach dem Login kopieren
Durch Festlegen des Metrikparameters können Sie steuern, welche Metrik zur Bewertung der Qualität verwendet wird der Vereinsregeln. Im obigen Code wird die Konfidenz als Bewertungsmetrik verwendet und der minimale Konfidenzschwellenwert ist auf 0,7 festgelegt.

3. Anwendungsszenarien des Apriori-Algorithmus

Der Apriori-Algorithmus kann auf viele Bereiche angewendet werden, wie z. B. Marketing, Empfehlungssysteme, Analyse sozialer Netzwerke usw. Im Folgenden wird am Beispiel einer E-Commerce-Plattform die Anwendung des Apriori-Algorithmus bei der Produktempfehlung demonstriert.

E-Commerce-Plattformen zeichnen normalerweise die Transaktionsdatensätze der Benutzer auf und verwenden diese Aufzeichnungen, um Produkte zu empfehlen, an denen Benutzer interessiert sein könnten. Durch den Apriori-Algorithmus können hochfrequente Produktkombinationen ermittelt werden. Beispielsweise besteht eine hohe Wahrscheinlichkeit, dass Personen, die die Produkte A, B und C kaufen, Produkt D kaufen. Basierend auf diesen Assoziationsregeln kann die E-Commerce-Plattform den Nutzern entsprechende Produkte empfehlen, um die Transaktionsrate und das Einkaufserlebnis der Nutzer zu verbessern.

4. Fazit

Der Apriori-Algorithmus ist eine gängige Assoziationsregel-Mining-Methode. Es gibt auch mehrere Bibliotheken von Drittanbietern, die diesen Algorithmus implementieren können. Durch diese Bibliotheken können häufige Elementmengen und Assoziationsregeln leicht ermittelt werden, um Datenanalysen und Geschäftsentscheidungen zu unterstützen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Apriori-Algorithmus 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)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate 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)

So entwickeln Sie einen Schwachstellenscanner in Python So entwickeln Sie einen Schwachstellenscanner in Python Jul 01, 2023 am 08:10 AM

Überblick über die Entwicklung eines Schwachstellenscanners mit Python In der heutigen Umgebung zunehmender Sicherheitsbedrohungen im Internet sind Schwachstellenscanner zu einem wichtigen Werkzeug zum Schutz der Netzwerksicherheit geworden. Python ist eine beliebte Programmiersprache, die prägnant, leicht lesbar und leistungsstark ist und sich für die Entwicklung verschiedener praktischer Tools eignet. In diesem Artikel erfahren Sie, wie Sie mit Python einen Schwachstellenscanner entwickeln, der Ihr Netzwerk in Echtzeit schützt. Schritt 1: Scanziele festlegen Bevor Sie einen Schwachstellenscanner entwickeln, müssen Sie festlegen, welche Ziele Sie scannen möchten. Dies kann Ihr eigenes Netzwerk sein oder alles, was Sie testen dürfen

So verwenden Sie Python für die Skripterstellung und Ausführung unter Linux So verwenden Sie Python für die Skripterstellung und Ausführung unter Linux Oct 05, 2023 am 11:45 AM

So verwenden Sie Python zum Schreiben und Ausführen von Skripten unter Linux. Im Linux-Betriebssystem können wir Python zum Schreiben und Ausführen verschiedener Skripte verwenden. Python ist eine prägnante und leistungsstarke Programmiersprache, die eine Fülle von Bibliotheken und Tools bereitstellt, um die Skripterstellung einfacher und effizienter zu machen. Im Folgenden stellen wir die grundlegenden Schritte zur Verwendung von Python zum Schreiben und Ausführen von Skripten unter Linux vor und stellen einige spezifische Codebeispiele bereit, die Ihnen helfen, es besser zu verstehen und zu verwenden. Installieren Sie Python

Verwendung der Funktion sqrt() in Python Verwendung der Funktion sqrt() in Python Feb 21, 2024 pm 03:09 PM

Verwendung und Codebeispiele der Funktion sqrt() in Python 1. Funktion und Einführung der Funktion sqrt() In der Python-Programmierung ist die Funktion sqrt() eine Funktion im Mathematikmodul und ihre Funktion besteht darin, die Quadratwurzel von zu berechnen eine Zahl. Die Quadratwurzel bedeutet, dass eine mit sich selbst multiplizierte Zahl dem Quadrat der Zahl entspricht, d. h. x*x=n, dann ist x die Quadratwurzel von n. Zur Berechnung der Quadratwurzel kann im Programm die Funktion sqrt() verwendet werden. 2. So verwenden Sie die Funktion sqrt() in Python, sq

Python-Programmierpraxis: Verwendung der Baidu Map API zum Generieren statischer Kartenfunktionen Python-Programmierpraxis: Verwendung der Baidu Map API zum Generieren statischer Kartenfunktionen Jul 30, 2023 pm 09:05 PM

Python-Programmierpraxis: Verwendung der Baidu Map API zum Generieren statischer Kartenfunktionen Einführung: In der modernen Gesellschaft sind Karten zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Bei der Arbeit mit Karten benötigen wir häufig eine statische Karte eines bestimmten Bereichs zur Anzeige auf einer Webseite, einer mobilen App oder einem Bericht. In diesem Artikel wird die Verwendung der Programmiersprache Python und der Baidu Map API zum Generieren statischer Karten vorgestellt und relevante Codebeispiele bereitgestellt. 1. Vorbereitungsarbeiten Um die Funktion der Generierung statischer Karten mithilfe der Baidu Map API zu realisieren, I

Bringen Sie Ihnen bei, wie Sie mithilfe der Python-Programmierung das Andocken der Baidu-Bilderkennungsschnittstelle und die Bilderkennungsfunktion realisieren. Bringen Sie Ihnen bei, wie Sie mithilfe der Python-Programmierung das Andocken der Baidu-Bilderkennungsschnittstelle und die Bilderkennungsfunktion realisieren. Aug 25, 2023 pm 03:10 PM

Bringen Sie Ihnen bei, die Python-Programmierung zu verwenden, um das Andocken der Bilderkennungsschnittstelle von Baidu zu implementieren und die Bilderkennungsfunktion zu realisieren. Im Bereich Computer Vision ist die Bilderkennungstechnologie eine sehr wichtige Technologie. Baidu bietet eine leistungsstarke Bilderkennungsschnittstelle, über die wir Bildklassifizierung, Beschriftung, Gesichtserkennung und andere Funktionen problemlos implementieren können. In diesem Artikel erfahren Sie, wie Sie mithilfe der Programmiersprache Python die Bilderkennungsfunktion realisieren, indem Sie eine Verbindung zur Baidu-Bilderkennungsschnittstelle herstellen. Zuerst müssen wir eine Anwendung auf der Baidu Developer Platform erstellen und herunterladen

Python-Programmierung zur Analyse der Koordinatenkonvertierungsfunktion in der Baidu Map API-Dokumentation Python-Programmierung zur Analyse der Koordinatenkonvertierungsfunktion in der Baidu Map API-Dokumentation Aug 01, 2023 am 08:57 AM

Python-Programmierung zur Analyse der Koordinatenkonvertierungsfunktion in der Baidu Map API-Dokumentation Einführung: Mit der rasanten Entwicklung des Internets ist die Kartenpositionierungsfunktion zu einem unverzichtbaren Bestandteil des Lebens moderner Menschen geworden. Als einer der beliebtesten Kartendienste in China stellt Baidu Maps eine Reihe von APIs für Entwickler zur Verfügung. In diesem Artikel wird die Python-Programmierung verwendet, um die Koordinatenkonvertierungsfunktion in der Baidu Map API-Dokumentation zu analysieren und entsprechende Codebeispiele zu geben. 1. Einleitung Bei der Entwicklung kommt es manchmal zu Problemen bei der Koordinatenkonvertierung. Baidu-Karte AP

Wie schreibe ich einen PCA-Hauptkomponentenanalysealgorithmus in Python? Wie schreibe ich einen PCA-Hauptkomponentenanalysealgorithmus in Python? Sep 20, 2023 am 10:34 AM

Wie schreibe ich einen PCA-Hauptkomponentenanalysealgorithmus in Python? PCA (Principal Component Analysis) ist ein häufig verwendeter unbeaufsichtigter Lernalgorithmus, der dazu dient, die Dimensionalität von Daten zu reduzieren, um Daten besser zu verstehen und zu analysieren. In diesem Artikel lernen wir, wie man den PCA-Hauptkomponentenanalysealgorithmus mit Python schreibt und stellen spezifische Codebeispiele bereit. Die PCA-Schritte sind wie folgt: Standardisieren Sie die Daten: Setzen Sie den Mittelwert jedes Merkmals der Daten auf Null und passen Sie die Varianz an den gleichen Bereich an, um sicherzustellen

So führen Sie Bildverarbeitung und -erkennung in Python durch So führen Sie Bildverarbeitung und -erkennung in Python durch Oct 20, 2023 pm 12:10 PM

So führen Sie Bildverarbeitung und -erkennung in Python durch Zusammenfassung: Moderne Technologie hat Bildverarbeitung und -erkennung in vielen Bereichen zu einem wichtigen Werkzeug gemacht. Python ist eine einfach zu erlernende und zu verwendende Programmiersprache mit umfangreichen Bildverarbeitungs- und Erkennungsbibliotheken. In diesem Artikel wird die Verwendung von Python für die Bildverarbeitung und -erkennung vorgestellt und spezifische Codebeispiele bereitgestellt. Bildverarbeitung: Bei der Bildverarbeitung werden verschiedene Vorgänge und Transformationen an Bildern durchgeführt, um die Bildqualität zu verbessern, Informationen aus Bildern zu extrahieren usw. PIL-Bibliothek in Python (Pi

See all articles