Heim >Datenbank >MySQL-Tutorial >Wie verwende ich die MySQL-Datenbank für das Assoziationsregel-Mining?
Wie verwende ich die MySQL-Datenbank für das Assoziationsregel-Mining?
Einführung:
Association Rule Mining ist eine Data-Mining-Technik, mit der Assoziationen zwischen Elementen in einem Datensatz ermittelt werden. MySQL ist ein weit verbreitetes relationales Datenbankverwaltungssystem mit leistungsstarken Datenverarbeitungs- und Abfragefunktionen. In diesem Artikel wird die Verwendung der MySQL-Datenbank für das Assoziationsregel-Mining vorgestellt, einschließlich Datenvorbereitung, Assoziationsregel-Mining-Algorithmus, SQL-Anweisungsimplementierung und Codebeispiele.
1. Datenvorbereitung
Bevor Sie den Bergbauverband regeln, müssen Sie zunächst einen geeigneten Datensatz vorbereiten. Der Datensatz ist die Grundlage für das Assoziationsregel-Mining, das die Transaktionen und Elementsätze enthält, die abgebaut werden müssen. In MySQL können Datensätze durch die Erstellung von Datentabellen gespeichert werden. Angenommen, wir möchten beispielsweise Zuordnungsregeln in Warenkorbdaten ermitteln, können wir eine Datentabelle mit dem Namen „Transaktionen“ erstellen, um die Einkaufsdatensätze jedes Kunden zu speichern, wobei jeder Datensatz mehrere Käufe eines Kunden enthält.
TABELLE ERSTELLEN Transaktionen (
Kunden-ID INT,
Artikel-ID INT
);
Dann fügen Sie die Warenkorbdaten in die Datentabelle ein:
INSERT INTO Transaktionen (Kunden-ID, Artikel-ID) VALUES
(1, 101),
(1 , 102),
(1, 103),
(2, 101),
(2, 104),
(3, 102),
(3, 105),
(4, 101),
(4, 103),
(4, 104);
2. Zu den gängigen Assoziationsregel-Mining-Algorithmen gehören der Apriori-Algorithmus und der FP-Wachstumsalgorithmus. Der Apriori-Algorithmus ist ein iterativer Algorithmus, der auf Kandidatensätzen basiert und häufige Elementsätze und Assoziationsregeln erkennt, indem er nach und nach Kandidatensätze generiert und Unterstützungsschwellenwerte berechnet. Der FP-Growth-Algorithmus ist ein präfixbaumbasierter Algorithmus, der häufige Elementmengen und Assoziationsregeln effizient ermitteln kann. In MySQL können wir SQL-Anweisungen verwenden, um diese beiden Algorithmen zu implementieren.
FROM communications
GROUP BY item_id
HAVING support >= min_support;
HAVING confidenz >= min_confidence;
Wobei „Antezedenz“ die Antezedenz der Regel ist, „Konsequenz“ die Konsequenz der Regel und „Konfidenz“ die Konfidenz der Regel ist , „min_confidence“ ist der festgelegte minimale Konfidenzschwellenwert. Diese SQL-Anweisung gibt Assoziationsregeln zurück, die die Mindestanforderungen an die Zuverlässigkeit erfüllen.
FP-Growth-AlgorithmusFP-Growth-Algorithmus ermittelt häufige Elementmengen und Assoziationsregeln, indem er einen Präfixbaum erstellt. In MySQL kann der FP-Growth-Algorithmus mithilfe temporärer Tabellen und benutzerdefinierter Variablen implementiert werden.
Erstellen Sie zunächst eine temporäre Tabelle, um häufige Artikelmengen zu speichern:
CREATE TEMPORARY TABLE frequent_items (
item_id INT,INSERT INTO frequent_items
SELECT item_id, COUNT(*) AS supportFROM Transactions
GROUP BY item_id
HAVING support >= min_support;
Generieren Sie dann Assoziationsregeln über die folgende SQL-Anweisung:
SELECT t1.item_id AS Antecedent, t2.item_id AS Consequent,
COUNT(*) / (SELECT COUNT(*) FROM transactions) AS confidenceFROM Transactions AS t1, Transactions AS t2
WHERE t1.item_id != t2 .item_id _ Und Find_in_Set (T1.Item_id, @Frequent_items) & GT; 0
und Find_in_SET (T2.ITEM_ID, @Frequent_items) & GT; , Aktualisieren Sie benutzerdefinierte Variablen über die folgende SQL-Anweisung: SET @frequent_items = (SELECT GROUP_CONCAT(item_id) FROM frequent_items);4. CodebeispieleDas Folgende ist ein Codebeispiel für das Assoziationsregel-Mining mit MySQL-Datenbank:
-- Datentabelle erstellen
TABELLE ERSTELLEN Transaktionen (
Kunden-ID INT,
Artikel-ID INT
);
INSERT INTO Transaktionen (Kunden-ID, Artikel-ID) VALUES
(1, 101),(1, 102),
(1, 103),(2, 101),
(2, 104),
(3, 105),
(4, 101),
(4, 103 ),
(4, 104); - Assoziationsregeln generieren
SELECT t1.item_id AS antecedent, t2.item_id AS consequente,
COUNT(*) / (SELECT COUNT(*) FROM transactions) AS confidence
FROM Transaktionen AS t1, Transaktionen AS t2
WHERE t1.item_id != t2.item_id
GROUP BY t1.item_id, t2.item_id
HAVING Confidence > = 0,5;
-- FP-Wachstumsalgorithmus
-- Temporäre Tabelle erstellen
CREATE TEMPORARY TABLE frequent_items (
item_id INT,
support INT
);
-- Generieren Sie häufige Itemsets.
INSERT INTO frequent_items. ';
-- Assoziationsregeln generieren
SELECT t1.item_id ALS Antezedens, t2.item_id ALS Folge,
COUNT(*) / (SELECT COUNT(*) FROM transactions) AS confidenceFROM Transaktionen AS t1, Transaktionen ALS t2
WHERE t1.item_id != t2.item_id
AND FIND_IN_SET(t1. item_id, @frequent_items)> Artikel: Wir haben gelernt, wie man die MySQL-Datenbank für das Assoziationsregel-Mining verwendet. Sowohl der Apriori-Algorithmus als auch der FP-Growth-Algorithmus können durch SQL-Anweisungen implementiert werden. Ich hoffe, dieser Artikel wird Ihnen bei der Verwendung von MySQL für das Assoziationsregel-Mining hilfreich sein.
Das obige ist der detaillierte Inhalt vonWie verwende ich die MySQL-Datenbank für das Assoziationsregel-Mining?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!