1. Einführung
Die Empfehlungssysteme sind für die Bereitstellung persönlicher und relevanter Empfehlungen durch die Benutzer zuständig. In diesem Artikel erfahren Sie, wie wir ein Empfehlungssystem für die Verwendung der Shock-Bibliothek in Python entwickelt haben. Wir haben uns mit der Aufgabe von Shock befasst, ein auf Zusammenarbeit basierendes Empfehlungssystem zu implementieren. Am Ende dieser Reise gehen Sie nach den Ladedaten, geben Sie ein Empfehlungsmodell ein, machen Sie Vorhersagen und bewerten Sie Ihre Präzision. Bei den Empfehlungssystemen handelt es sich hauptsächlich um die Tatsache, dass die Benutzer viel zu tun haben, und weil sie auch die künstliche Intelligenz betreffen, die seit mehr als einem Jahr unsere Erfahrung auf vielen Plattformen macht. Hier sind einige Beispiele:
- Elektronischer Handel: Die Empfehlungssysteme werden in großem Umfang auf Plattformen des elektronischen Handels wie Amazon oder Netflix genutzt, um Produkte oder Filme zu empfehlen, die auf den Vorlieben und der Kaufhistorie oder der Visualisierung der Benutzer basieren. Dies erhöht die Kauferfahrung und steigert die Verkaufschancen.
- Inhalts-Streaming: Plattformen zum Streamen von Musik, Movies und Podcasts, wie Spotify oder YouTube, nutzen Sie Empfehlungssysteme, um relevante und personalisierte Inhalte für Ihre Lieblingsmusik, Interessen und Wiedergabequalität anzubieten.
- Soziale Netzwerke: Soziale Netzwerke, wie Fb oder Instagram, nutzen Empfehlungssysteme, um relevante Benutzerinhalte zu veröffentlichen, wie Veröffentlichungen, Seiten oder Personen zum Weiterleiten, in der Funktion ihrer Interessen, Verbindungen und Aktivitäten vor der Plattform.
- Redaktionelle Mitteilungen und Inhalte: Die Mitteilungsseiten und Inhaltsportale nutzen Empfehlungssysteme, um Artikel, Movies oder verknüpfte Inhalte anzuzeigen, die für die Lektoren von Interesse sein könnten. Dies ermöglicht es Ihnen, die Erfahrung Ihrer Vorlesungen zu personalisieren und die Benutzer bei der Arbeit zu unterstützen.
- Plattformen für Reisen und Unterkünfte: Anwendungen und Webseiten für Reisen, wie Airbnb oder Reserving.com, nutzen Empfehlungssysteme für die Suche nach Unterkünften, Reisezielen und Erfahrungen, die auf den Vorlieben und Notwendigkeiten der Benutzer basieren, ebenso wie auf anderen Bewertungsebenen viajeros.
- Dienstleistungen am Wohnort: Lebensmittel-Einkaufsplattformen wie Uber Eats oder Deliveroo. Nutzen Sie Empfehlungssysteme, um Eating places und Eating places nach den bevorzugten Gastronomie-, Standort- und Kundenbewertungen zu beliefern.
- Bibliotheken und Bildungsinhaltsdienste: Empfehlungssysteme werden auf On-line-Lehrplattformen und digitalen Bibliotheken genutzt, um Bücher, Lehrbücher oder Rekursionen für Lehrkräfte zu empfehlen, die für Benutzer related sind, und helfen Ihnen, neue Inhalte zu entdecken und Ihre Lehrerfahrung zu verbessern izaje.
2. Conociendo-Überraschung
Shock ist eine Python-Bibliothek für die Entwicklung von Systemen, die auf der Suche nach kollaborativen Filtern basieren. Proporciona Algorithmuslisten für die Verwendung, Herramientas für die Bewertung von Empfehlungssystemen und Erleichterung der Ladung und Manipulation von Datenverbindungen.
Shock implementiert verschiedene beliebte Filteralgorithmen für die Zusammenarbeit, darunter die meisten Filter (KNN), die Matrixzerlegung (SVD), die nicht adverse Faktorisierung (NMF) und viele mehr. Dieser Algorithmus wird verwendet, um Kunden mit Daten zu konfrontieren und Vorhersagen über die Präferenzen oder Qualifikationen der Benutzer zu treffen.
Zusammenfassend hat Shock die Komplexität der Implementierung von Empfehlungssystemen untersucht und gemeinsam mit geeigneten Algorithmuslisten gefiltert, um sie für die Handhabung von Daten und die Bewertung von Modellen zu verwenden und zu verwalten. Dies ermöglicht es den Entwicklern, sich auf das Design und die Personalisierung ihrer Empfehlungssysteme zu konzentrieren, ohne sich mit den Particulars der komplexeren Implementierung befassen zu müssen.
3. Set up und Konfiguration
Zuerst müssen wir sicherstellen, dass die Shock-Bibliothek in unserem Python-Programm installiert wird. Sie können die Set up einfach mit dem folgenden Befehl durchführen: pip set up scikit-surprise
. Nachdem Sie es installiert haben, müssen Sie alle erforderlichen Klassen und Funktionen in unserem Code installieren.
!pip set up scikit-surprise
from shock import Dataset, Reader, KNNBasic
from shock.model_selection import train_test_split
from shock.accuracy import rmse
4. Laden Sie die Datenverbindung herunter und laden Sie sie herunter
Die Biblioteca Shock bietet eine Kombination aus Beispieldaten, wie die Kombination aus Daten ml-100k
de películas. Sie können den Obtain direkt von Google Colab unter Verwendung des folgenden Codes durchführen:
!wget http://recordsdata.grouplens.org/datasets/movielens/ml-100k.zip
!unzip ml-100k.zip
Laden Sie das ZIP-Archiv der zusammengehörigen Daten herunter und laden Sie es in einem Ordner herunter ml-100k
.
3. Datenladung
Sobald wir die Datenverbindung gelöscht haben, müssen wir das Objekt in Shock verwenden Reader
Um das Format und die Skala der Datenkalibrierung zu spezifizieren. Bitte, laden Sie die Daten mithilfe der Methode herunter load_from_file
de la clase Dataset
.
reader = Reader(line_format='consumer merchandise score timestamp', sep='t')
information = Dataset.load_from_file('ml-100k/u.information', reader=reader)
4. División de Conjuntos de Entrenamiento y Prueba
Es ist wichtig, dass wir unsere Daten in Kombination mit der Entwicklung und der Prüfung aufteilen, um die Präzision des Modells zu beurteilen. Nutzen Sie die Funktion train_test_split
de la clase model_selection
Um die Daten zu teilen. Das sind unsere Vorschläge für die folgenden: trainset
j testset
, die die Daten der Teilnahme bzw. Prüfung repräsentieren. Sie können den Prüfzustand nach Bedarf anpassen.
trainset, testset = train_test_split(information, test_size=0.2, random_state=42)
5. Definition des Empfehlungsmodells
Überraschenderweise können wir verschiedene Filteralgorithmen für unser Empfehlungsmodell verwenden. In diesem Beispiel nutzten wir den KNNBasic-Algorithmus, der auf mehr als 50 Jahren basiert, und nutzten die Pearson-Ähnlichkeit, um die Ähnlichkeit zwischen gewöhnlichen Gegenständen zu berechnen. Sie können die Parameter wie die Anzahl der Vecinos anpassen (ok
), und Möglichkeiten, das Wörterbuch zu verwenden sim_options
. Experimentieren Sie mit verschiedenen Algorithmen und Optionen, um den für Ihr Downside geeigneten Enfok zu finden.
sim_options = {'identify': 'pearson', 'user_based': True}
mannequin = KNNBasic(ok=40, sim_options=sim_options)
6. Entrenamiento del Modelo
Sobald wir das Modell definiert haben, verwenden wir die entsprechende Methode match
um mit der Eintrittskarte in Kontakt zu treten. Während des Rennens passt das Modell die Parameter unter Verwendung der Trainingsdaten an und sucht Kunden und Beziehungen zwischen den Benutzern und den Artikeln im Rahmen der historischen Kalibrierungen.
mannequin.match(trainset)
7. Generierung von Vorhersagen und Bewertung der Präzision
Mit dem Modell, das wir kennen, können wir Vorhersagen in der Kombination mit der Testmethode umsetzen, die wir verwenden take a look at
. Es werden Vorhersagen für ausgerechnete Berechnungen erstellt und wir dürfen die Präzision des Modells anhand metrischer Daten anhand des mittleren mittleren Fehlers (RMSE) bewerten.
predictions = mannequin.take a look at(testset)
accuracy = rmse(predictions)
print('RMSE:', accuracy)
Es wird empfohlen, die Parameter des Modells anzupassen und mit verschiedenen Algorithmen und Optionen zu experimentieren, um die Präzision unserer Empfehlungen zu verbessern. Darüber hinaus bietet Shock viele weitere Funktionen, wie die Ladung personalisierter Datenverbindungen, die Optimierung der Parameter und die Implementierung der erweiterten Algorithmen.
8. Fazit
Zusammenfassend lässt sich sagen, dass Shock eine vielseitige und einfach zu verwendende Bibliothek für die Gestaltung von Systemen ist, die auf der Grundlage von Filtrierungskooperationen basieren. Mit ein paar Schritten können Sie Daten laden, Modelle eintragen und individuelle Vorhersagen treffen. ¡Experimentieren Sie und erfahren Sie, welche Anwendungen Sie auf dieser Ebene empfehlen!