Mejor modelo y sus hiperparámetros
Ahora que ya tenemos nuestro validador cruzado, cv, configurado, podemos indicarle a Spark que tome nuestros datos, ajuste el algoritmo ALS y pruebe las distintas combinaciones de valores de hiperparámetros de nuestro param_grid para identificar cuáles dan el RMSE más bajo. Por desgracia, esto tarda demasiado en completarse aquí, pero para tu referencia, así es como se hace:
# Ajusta el validador cruzado al conjunto 'train'
model = cv.fit(train)
# Extrae el mejor modelo del modelo de cv anterior
best_model = model.bestModel
Este código se ha ejecutado por separado y se ha identificado y guardado el best_model para que lo uses. Utiliza los comandos indicados para extraer los parámetros del modelo.
Este ejercicio forma parte del curso
Creación de motores de recomendación con PySpark
Instrucciones del ejercicio
- Imprime
type(best_model)para confirmar que el modelo ALS construido a partir de nuestras opciones de hiperparámetros está efectivamente completado. Aquí se necesita una instrucción de impresión para poder usar las siguientes. - Extrae el
rankdebest_modelllamando al método.getRank()sobrebest_model. - Extrae el
maxIterdebest_modelllamando al método.getMaxIter()sobrebest_model. - Extrae el
regParamdebest_modelllamando al método.getRegParam()sobrebest_model.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Print best_model
print(____)
# Complete the code below to extract the ALS model parameters
print("**Best Model**")
# Print "Rank"
print(" Rank:", best_model.get____())
# Print "MaxIter"
print(" MaxIter:", best_model.get____())
# Print "RegParam"
print(" RegParam:", best_model.get____())