Aan de slagBegin gratis

Maak train/test-splits en bouw je ALS-model

Je weet al hoe je een ALS-model bouwt, want dat heb je in het vorige hoofdstuk gedaan. We doen dat opnieuw, maar we nemen extra stappen om een volledig gecrossvalideerd model op te zetten.

Eerst importeren we de benodigde functies en maken we onze train- en testgegevens klaar voor de cross-validatiestap.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen met PySpark

Bekijk cursus

Oefeninstructies

  • Importeer de RegressionEvaluator uit ml.evaluation, het ALS-algoritme uit ml.recommendation, en de ParamGridBuilder en de CrossValidator uit ml.tuning.
  • Maak een 0,80/0,20 train/test-split op de ratings-data met de methode randomSplit. Noem de gegevenssets train en test, en zet de random seed op 1234.
  • Bouw het ALS-model en vertel Spark welke kolomnamen in de ratings-dataframe overeenkomen met userCol, itemCol en ratingCol. Zet het argument nonnegative op True, coldStartStrategy op "drop" en geef aan dat dit geen implicitPrefs zijn door het argument implicitPrefs op False te zetten. Noem dit model als.
  • Controleer of het model is aangemaakt door de functie type() op als aan te roepen. De output zou moeten aangeven wat voor type model het is.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____

# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)

# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)

# Confirm that a model called "als" was created
type(____)
Code bewerken en uitvoeren