Creează împărțirile de antrenament/testare și construiește modelul ALS
Știi deja cum se construiește un model ALS, deoarece ai făcut asta în capitolul anterior. Vom repeta procesul, dar vom adăuga câțiva pași suplimentari pentru a construi un model cu validare încrucișată complet.
În primul rând, să importăm funcțiile necesare și să creăm seturile de date de antrenament și de testare, pregătindu-ne pentru etapa de validare încrucișată.
Acest exercițiu face parte din cursul
Construiește motoare de recomandare cu PySpark
Instrucțiuni pentru exercițiu
- Importă
RegressionEvaluatordinml.evaluation, algoritmulALSdinml.recommendation, precum șiParamGridBuilderșiCrossValidatordinml.tuning. - Creează o împărțire 80%/20% antrenament/testare pe datele
ratingsfolosind metodarandomSplit. Numește seturile de datetrainșitestși setează seed-ul aleatoriu la1234. - Construiește modelul ALS, indicând Spark numele coloanelor din dataframe-ul
ratingscare corespund cuuserCol,itemColșiratingCol. Setează argumentulnonnegativelaTrue,coldStartStrategyla"drop"și informează Spark că nu sunt preferințe implicite, setând argumentulimplicitPrefslaFalse. Numește acest modelals. - Verifică că modelul a fost creat apelând funcția
type()peals. Rezultatul ar trebui să indice tipul de model.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____)