Einführung
Ein SR-Empfehlungssystem ist eine Reihe von Algorithmen, die angemessene Empfehlungen und personalisierte Empfehlungen für eine oder mehrere verschiedene Benutzer zu interessanten Elementen wie Produkten, Dienstleistungen, Inhalten, Musik, Filmen, Mitteilungen, Texten usw. ermöglichen. Die Endgültigkeit dieses Programs liegt darin, den Benutzern die Möglichkeit zu geben, neue relevante Elemente zu erkunden und ihre Interessen an der Funktion ihrer Präferenzen, ihres Verhaltens, ihrer demografischen Informationen und anderer Faktoren zu messen.
Die Empfehlungssysteme analysieren große Datenmengen und generieren personalisierte Empfehlungen. Dieser Algorithmus kann auf verschiedenen Informationen basieren, wie z Filtrado colaborativo (Benutzergruppen, die Interesse und ähnliche Gefühle und andere Elemente haben), el Auf Inhalt basierend filtriert (Merkmale oder Attribute der Elemente und ihre Ähnlichkeiten) oder von einem filtrado hibrido (Kombination aus gemeinsamer Filterung und Inhaltsbasis).
Las librerías de Überraschung (Title, der einen Teil seines Siglases auf Englisch enthält: Easy Python RempfehlenICHAn SSystem Engine basiert auf einer gemeinsamen Filterung und wird in zwei Algorithmentypen implementiert. Sie müssen die Berechnungen oder Präferenzen der Benutzer verwenden, um die Ähnlichkeit zwischen Benutzern oder Elementen zu berechnen (Speicherbasiert); Sie müssen automatische Prüftechniken verwenden, um ein Vorhersagemodell zu konstruieren, das auf den Berechnungsdaten der Benutzer basiert (Modellbasiert). Außerdem gibt es Überraschungsmetriken, die Scikit-Study ähneln, um die Präzision und das Ergebnis der empfohlenen Modelle zu bewerten (RMSE, MAE) als Möglichkeit zur Realisierung einer Kreuzstich-Validierung (cross_validate) und die Personalisierung und Anpassung der Parameter (GridSearch)
Grundlegende Schritte zum Aufbau eines Empfehlungssystems unter Verwendung der Shock-Bibliotheken
Im Folgenden präsentieren wir eine Reihe grundlegender Schritte für den Aufbau eines Programs oder ein Empfehlungsmodell mit den Science-Fiction-Bibliotheken von Shock:
1. Installationsüberraschung: Installieren Sie die Shock-Bibliothek in der Umgebung des Computer systems (z. B. Jupyter-Pocket book oder Google Colab) über den Befehl Pip:
2. Importieren Sie die Bibliotheken zur Verwendung im Modell: Die mit der Datenerfassung korrespondierenden Bibliotheken sind wichtig, ebenso wie die Aufteilung der Daten im Zusammenhang mit der Eingabe und Validierung; Sie werden als Ergebnis der Bewertung durch die Hauptmetriken generiert.
3. Laden Sie die Daten herunter und lesen Sie sie: Achten Sie darauf, dass die Daten, die das Modell oder das Empfehlungssystem während der Klassenfahrt verwendet, nicht verloren gehen Datensatz (Das Laden der Daten erfolgt über einen integrierten Datensatz oder über einen personalisierten Datensatz.) j Leser (Lee und bereite die Daten vor)
4. Teilen Sie die Datenverbindung auf: Die Daten werden durch die Arbeit des Kommandos geteilt train_test_split Überraschen Sie uns in einer Verbindung mit dem Teilnehmer, den Sie mit einem % der Daten beauftragt haben, und mit einer Prüfung, mit der Sie die anderen % der Daten beauftragt haben.
5. Erstellen Sie eine Algorithmus-Instanz mit: Wählen Sie den Algorithmus aus, den Sie im Empfehlungssystem verwenden möchten (zB KNNBasic, KNNWithMeans, SVD, NMF)
6. Geben Sie das Modell ein: Das Modell wird mit der Methode generiert match y se suministra el conjunto de renamiento para ello.
7. Verwirklichen Sie die Vorhersagen mit der Validierungskombination: Sie müssen die Vorhersagen für die zu prüfenden Elemente realisieren und sie in der Variablen speichern Vorhersagen.
8. Erhalten Sie die Messwerte: Das Modell wird mit der Datenverbindung zur vollständigen Prüfung ausgewertet und der aktuell mittelfristige Fehler ausgenutzt (RMSE) und der absolute Medienfehler (MAE) wie Metrisch.
9. Holen Sie sich die Vorhersagen für einen Benutzer durch eine absteigende Bewertung: Unser Modell wird wahrscheinlich für einen bestimmten Benutzer empfohlen. Die Vorhersagen werden erstellt, damit die Elemente nicht von diesem Benutzer gesehen werden können, und sie werden zur Schätzung der absteigenden Bewertung bestimmt.
Praktisches Beispiel: Empfehlungssystem für einen integrierten Datensatz von Jester
Die Datenverbindung Jester ist eine Datenverbindung, die für Empfehlungssysteme von Kunden verwendet wird. Es enthält Klassifizierungen der für Benutzer geeigneten Geräte. Hier ist ein Beispiel, mit dem wir ein System zur Empfehlung von Kindern erstellen können, das Scikit Shock und die Datenverbindung Jester verwendet:
# Instalar Shock
!pip set up scikit-surprise# Importar las librerías a usar en el modelo
from shock import Dataset, Reader, KNNBasic
from shock.model_selection import train_test_split
# Cargar el conjunto de datos Jester
knowledge = Dataset.load_builtin('jester')
# Definir el tipo de datos
reader = Reader(rating_scale=(-10, 10))
# Cargar los datos en Shock
# knowledge = Dataset.load_from_file(file_path, reader=reader)
# Dividir el conjunto de datos en entrenamiento y prueba
trainset, testset = train_test_split(knowledge, test_size=0.2)
# Crear una instancia del algoritmo KNN
algo = KNNBasic()
# Entrenar el modelo
algo.match(trainset)
# Realizar predicciones para los elementos de prueba
predictions = algo.take a look at(testset)
# Obtener las recomendaciones para un usuario específico
user_id = 1
user_items = trainset.ur[user_id]
user_unrated_items = [item for item in trainset.all_items() if item not in user_items]
user_predictions = algo.take a look at([(user_id, item_id, 0) for item_id in user_unrated_items])
# Ordenar las predicciones por score descendente
user_predictions.type(key=lambda x: x.est, reverse=True)
# Obtener las mejores recomendaciones
top_recommendations = user_predictions[:10]
# Imprimir las mejores recomendaciones
for suggestion in top_recommendations:
print("Joke ID:", suggestion.iid, "Estimation:", suggestion.est)
Nachdem Sie die Daten in Shock geladen haben, teilen Sie die Datenverbindung mit den Verbindungsverbindungen und prüfen Sie sie train_test_split().
Ich habe eine Instanz des KNN-Algorithmus erstellt (KNNBasic In diesem Fall müssen Sie das Modell betreten, das im Rahmen des Trainings genutzt wird.
Ich habe Vorhersagen für die Prüfelemente getroffen und bin in die Variable eingetaucht Vorhersagen.
Außerdem müssen wir Empfehlungen für einen bestimmten Benutzer erhalten (in diesem Fall der Benutzer mit ID 1). Die Vorhersagen wurden für die Elemente erstellt, die nicht von diesem Benutzer klassifiziert wurden, und wurden für die Schätzung der absteigenden Bewertung bestimmt. Abschließend lesen Sie die besten Empfehlungen für diesen Benutzer.
Schlussfolgerungen
Die empfohlenen Systeme werden in einer Vielzahl von Anwendungen und Plattformen genutzt, darunter Web sites im elektronischen Handel, Musik- und Video-Streaming-Dienste, soziale Netzwerke, Suchmaschinen, Benachrichtigungsanwendungen und vieles mehr. Es empfiehlt sich, den Benutzern in einer entsetzlichen Zeit personalisierte Geräte zur Verfügung zu stellen, neue relevante Elemente zu entdecken und ihre Benutzererfahrung auf verschiedenen Plattformen zu verbessern.
Die Bibliotheken von Shock basieren auf der Zusammenarbeit, um personalisierte Empfehlungssysteme zu erstellen. Nutzen Sie Techniken und erweiterte Algorithmen, um die Kunden anhand der Kalibrierungsdaten zu analysieren und Vorhersagen über die Präferenzen der Benutzer zu treffen, sowie relevante Empfehlungen und Präzisierungen zu generieren.