Analisando o melhor modelo de duração de voo
Você acabou de configurar um CrossValidator
para encontrar bons parâmetros para o modelo de regressão linear que prevê a duração do voo.
O pipeline do modelo tem várias etapas (objetos do tipo StringIndexer
, OneHotEncoder
, VectorAssembler
e LinearRegression
), que funcionam em sequência. As etapas estão disponíveis como o atributo “ stages
” no objeto pipeline. Elas são mostradas numa lista e as etapas são feitas na ordem em que aparecem na lista.
Agora você vai dar uma olhada mais de perto no pipeline, dividir as etapas e usá-lo para fazer previsões sobre os dados de teste.
Os seguintes objetos já foram criados:
cv
— um objetoCrossValidatorModel
treinado eevaluator
— um objeto "RegressionEvaluator
".
Os dados dos voos foram divididos aleatoriamente em flights_train
e flights_test
.
Este exercício faz parte do curso
Machine Learning com PySpark
Instruções do exercício
- Pega o melhor modelo.
- Olha só as etapas do melhor modelo.
- Isola a fase de regressão linear e pega os parâmetros dela.
- Use o melhor modelo para gerar previsões nos dados de teste e calcular o RMSE.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))