Začněte nyníZačněte zdarma

Správný formát a unikátní uživatelé

Prohlédni si dataframe R. Všimni si, že je v klasickém neboli „širokém" formátu – každý sloupec představuje jiný film. Také si všimni, že jména Userů a filmů nejsou v celočíselném formátu. Postupuj podle kroků níže a správně připrav tato data pro ALS.

Toto cvičení je součástí kurzu

Tvorba doporučovacích systémů s PySparkem

Zobrazit kurz

Pokyny k cvičení

  • Importuj balíček monotonically_increasing_id z pyspark.sql.functions a zobraz dataframe R pomocí metody .show().
  • Pomocí funkce to_long() převeď dataframe R do „dlouhého" formátu. Nový dataframe pojmenuj ratings.
  • Vytvoř dataframe users, který bude obsahovat všechny unikátní uživatele pomocí .distinct(), a přerozděl ho do jednoho oddílu metodou .coalesce(1).
  • Pomocí metody monotonically_increasing_id() uvnitř withColumn() přidej do dataframu users nový sloupec s unikátním celým číslem pro každého uživatele. Pojmenuj tento sloupec userId. Nezapomeň na závěr zavolat metodu .persist(), aby nová celočíselná ID zůstala zachována.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Import monotonically_increasing_id and show R
from pyspark.sql.functions import ____
R.show()

# Use the to_long() function to convert the dataframe to the "long" format.
ratings = to_long(____)
ratings.show()

# Get unique users and repartition to 1 partition
users = ratings.select("____").____().____()

# Create a new column of unique integers called "userId" in the users dataframe.
users = users.withColumn("____", monotonically_increasing_id()).____()
users.show()
Upravit a spustit kód