Crie divisões de treino/teste e construa seu modelo ALS
Você já sabe como construir um modelo ALS, pois fez isso no capítulo anterior. Vamos repetir o processo, mas agora vamos dar alguns passos adicionais para montar um modelo com validação cruzada completa.
Primeiro, vamos importar as funções necessárias e criar nossos conjuntos de treino e teste, preparando tudo para a etapa de validação cruzada.
Este exercicio faz parte do curso
Construindo mecanismos de recomendação com PySpark
Instruções do exercicio
- Importe o
RegressionEvaluatordeml.evaluation, o algoritmoALSdeml.recommendation, e oParamGridBuildere oCrossValidatordeml.tuning. - Crie uma divisão de treino/teste .80/.20 nos dados
ratingsusando o métodorandomSplit. Nomeie os conjuntos comotrainetest, e defina a semente aleatória como1234. - Construa o modelo ALS informando ao Spark os nomes das colunas no dataframe
ratingsque correspondem auserCol,itemColeratingCol. Defina o argumentononnegativecomoTrue, ocoldStartStrategycomo"drop"e informe ao Spark que estas não sãoimplicitPrefsdefinindo o argumentoimplicitPrefscomoFalse. Dê a este modelo o nomeals. - Verifique se o modelo foi criado chamando a função
type()emals. A saída deve indicar qual é o tipo do modelo.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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(____)