LoslegenKostenlos loslegen

K-nächste Nachbarn Schritt für Schritt

Du hast gerade gesehen, wie sich mit K-nächsten Nachbarn vorhersagen lässt, wie jemand einen Artikel bewerten könnte – basierend auf der Weisheit einer (ähnlichen) Gruppe. In dieser Übung gehst du den Prozess selbst Schritt für Schritt durch, damit du genau verstehst, wie er funktioniert.

Zum Einstieg: Da du bereits mehrfach Ähnlichkeitsmatrizen erstellt hast, ist dieser Schritt für dich erledigt worden. Die Nutzer-Ähnlichkeitsmatrix liegt als DataFrame user_similarities vor.

Darin sind alle Nutzer sowohl in den Zeilen als auch in den Spalten, und an ihren Schnittpunkten steht der entsprechende Ähnlichkeitswert.

In dieser Übung arbeitest du mit den Ähnlichkeitswerten von user_001, findest dessen nächste Nachbarn und leitest basierend auf den Bewertungen dieser Nachbarn für einen Film ab, welche Bewertung user_001 dem Film geben könnte, wenn die Person ihn gesehen hätte.

Diese Übung ist Teil des Kurses

Recommendation Engines mit Python entwickeln

Kurs anzeigen

Anleitung zur Übung

  • Ermittle die IDs der 10 nächsten Nachbarn von User_A, indem du die Top 10 Nutzer in ordered_similarities extrahierst und als nearest_neighbors speicherst.
  • Ziehe die Bewertungen der Nutzer in nearest_neighbors aus user_ratings_table als neighbor_ratings heraus.
  • Berechne die durchschnittliche Bewertung, die diese Nutzer dem Film Apollo 13 (1995) gegeben haben, um abzuleiten, welche Bewertung User_A vermutlich geben würde, wenn die Person den Film gesehen hätte.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Isolate the similarity scores for user_1 and sort
user_similarity_series = user_similarities.loc['user_001']
ordered_similarities = user_similarity_series.sort_values(ascending=False)

# Find the top 10 most similar users
nearest_neighbors = ordered_similarities[1:11].____

# Extract the ratings of the neighbors
neighbor_ratings = user_ratings_table.____(nearest_neighbors)

# Calculate the mean rating given by the users nearest neighbors
print(neighbor_ratings['Apollo 13 (1995)'].____())
Code bearbeiten und ausführen