Zacznij terazZacznij za darmo

Tworzenie podziałów na zbiór testowy i treningowy oraz budowanie modelu ALS

Wiesz już, jak zbudować model ALS – zrobiłeś to w poprzednim rozdziale. Teraz zrobimy to ponownie, ale tym razem wykonamy kilka dodatkowych kroków, aby w pełni zbudować model z walidacją krzyżową.

Na początek zaimportujmy niezbędne funkcje i przygotujmy zbiory treningowy oraz testowy przed krokiem walidacji krzyżowej.

To ćwiczenie jest częścią kursu

Budowanie silników rekomendacji w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj RegressionEvaluator z ml.evaluation, algorytm ALS z ml.recommendation, a także ParamGridBuilder i CrossValidator z ml.tuning.
  • Podziel dane ratings na zbiór treningowy i testowy w proporcji 80/20, używając metody randomSplit. Nazwij zbiory train i test, a ziarno losowości ustaw na 1234.
  • Zbuduj model ALS, podając Sparkowi nazwy kolumn z ramki danych ratings, które odpowiadają parametrom userCol, itemCol i ratingCol. Ustaw argument nonnegative na True, coldStartStrategy na "drop", a argument implicitPrefs na False, aby wskazać, że nie korzystasz z preferencji niejawnych. Nazwij ten model als.
  • Sprawdź, czy model został poprawnie utworzony, wywołując funkcję type() na obiekcie als. Wynik powinien wskazywać typ modelu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod