Dissecando o melhor modelo de duração de voo
Você acabou de configurar o site 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ários estágios (objetos do tipo StringIndexer
, OneHotEncoder
, VectorAssembler
e LinearRegression
), que operam em sequência. Os estágios estão disponíveis como o atributo stages
no objeto do pipeline. Eles são representados por uma lista e os estágios são executados na sequência em que aparecem na lista.
Agora você vai examinar mais de perto o pipeline, dividir os estágios e usá-lo para fazer previsões sobre os dados de teste.
Os seguintes objetos já foram criados:
cv
- um objetoCrossValidatorModel
treinado eevaluator
- um objetoRegressionEvaluator
.
Os dados dos voos foram divididos aleatoriamente em flights_train
e flights_test
.
Este exercício faz parte do curso
Aprendizado de máquina com PySpark
Instruções de exercício
- Recupere o melhor modelo.
- Observe os estágios do melhor modelo.
- Isolar o estágio de regressão linear e extrair seus parâmetros.
- Use o melhor modelo para gerar previsões nos dados de teste e calcule o RMSE.
Exercício interativo prático
Experimente este exercício preenchendo 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 =", ____.____(____))