Skapa tränings- och testuppdelningar och bygg din ALS-modell
Du vet redan hur man bygger en ALS-modell efter att ha gjort det i föregående kapitel. Vi gör det igen, men den här gången tar vi några extra steg för att bygga ut en korsvaliderad modell.
Låt oss börja med att importera de nödvändiga funktionerna och skapa våra tränings- och testdatamängder inför korsvalideringssteget.
Den här övningen är en del av kursen
Bygg rekommendationsmotorer med PySpark
Övningsinstruktioner
- Importera
RegressionEvaluatorfrånml.evaluation, ALS-algoritmen frånml.recommendation, samtParamGridBuilderochCrossValidatorfrånml.tuning. - Skapa en 80/20-uppdelning av
ratings-data i tränings- och testdatamängder med metodenrandomSplit. Namnge datamängdernatrainochtest, och sätt det slumpmässiga frönumret till1234. - Bygg ALS-modellen och ange för Spark namnen på de kolumner i dataframe:n
ratingssom motsvararuserCol,itemColochratingCol. Sätt argumentetnonnegativetillTrue,coldStartStrategytill"drop", och ange att det inte rör sig om implicita preferenser genom att sättaimplicitPrefstillFalse. Kalla modellenals. - Verifiera att modellen skapades genom att anropa funktionen
type()påals. Utdata ska visa vilken typ av modell det är.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)