Heim >Datenbank >MySQL-Tutorial >Lassen Sie uns darüber sprechen, wie Sie mit MySQL schnell einen Empfehlungsalgorithmus implementieren können
Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er stellt vor allem vor, was ein Empfehlungsalgorithmus ist, welche Probleme dieser Algorithmus uns bei der Lösung helfen kann und wie man mit MySQL einen einfachen Empfehlungsalgorithmus implementiert: Schauen wir uns das hoffentlich an es hilft allen.
Verwenden Sie MySQL, um einen einfachen Empfehlungsalgorithmus zu implementieren
Der Empfehlungsalgorithmus ist eine häufig anzutreffende Technologie. Grundsätzlich ist das Problem gelöst: Wenn Ihnen Buch A gefällt, wird Ihnen wahrscheinlich auch Buch B gefallen.
In diesem Artikel verwenden wir MySQL und zerlegen und implementieren einen einfachen Empfehlungsalgorithmus basierend auf Datenstatistiken.
Erstellen Sie zunächst eine Datentabelle mit Büchern, die dem Benutzer gefallen. Diese stellt die Benutzer-ID „Gefällt mir“-Buch_ID dar.
CREATE TABLE user_likes ( user_id INT NOT NULL, book_id VARCHAR(10) NOT NULL, PRIMARY KEY (user_id,book_id), UNIQUE KEY book_id (book_id, user_id) ); CREATE TABLE user_likes_similar ( user_id INT NOT NULL, liked_user_id INT NOT NULL, rank INT NOT NULL, KEY book_id (user_id, liked_user_id) );
Fügen Sie 4 Testdaten ein
INSERT INTO user_likes VALUES (1, 'A'), (1, 'B'), (1, 'C'); INSERT INTO user_likes VALUES (2, 'A'), (2, 'B'), (2, 'C'), (2,'D'); INSERT INTO user_likes VALUES (3, 'X'), (3, 'Y'), (3, 'C'), (3,'Z'); INSERT INTO user_likes VALUES (4, 'W'), (4, 'Q'), (4, 'C'), (4,'Z');
Die Bedeutung ist: Benutzer 1 mag A, B, C, Benutzer 2 mag A, B, C, D, Benutzer 3 mag X, Y, C, Z, Benutzer 4 mag W, Q, C, Z.
Am Beispiel von Benutzer 1 zur Berechnung empfohlener Bücher müssen wir die Ähnlichkeit zwischen Benutzer 1 und anderen Benutzern berechnen und sie dann nach der Ähnlichkeit sortieren.
Löschen Sie die Ähnlichkeitsdatentabelle.
DELETE FROM user_likes_similar WHERE user_id = 1;.
INSERT INTO user_likes_similar SELECT 1 AS user_id, similar.user_id AS liked_user_id, COUNT(*) AS rank FROM user_likes target JOIN user_likes similar ON target.book_id= similar.book_id AND target.user_id != similar.user_id WHERE target.user_id = 1 GROUP BY similar.user_id ;【Empfohlenes Lernen:
MySQL-Video-Tutorial
】Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie mit MySQL schnell einen Empfehlungsalgorithmus implementieren können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!