Dissecando 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á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 objetoCrossValidatorModeltreinado eevaluator- um objetoRegressionEvaluator.
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
- 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 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 =", ____.____(____))