Анализ лучшей модели прогнозирования длительности полётов
Вы только что настроили CrossValidator для подбора оптимальных параметров модели линейной регрессии, прогнозирующей длительность полётов.
Конвейер модели состоит из нескольких этапов (объектов типов StringIndexer, OneHotEncoder, VectorAssembler и LinearRegression), которые выполняются последовательно. Этапы доступны через атрибут stages объекта конвейера и представлены в виде списка — они выполняются в том порядке, в котором расположены в этом списке.
Теперь вы подробнее изучите конвейер, выделите его отдельные этапы и используете модель для получения предсказаний на тестовых данных.
Следующие объекты уже созданы:
cv— обученный объектCrossValidatorModelиevaluator— объектRegressionEvaluator.
Данные о рейсах случайным образом разделены на flights_train и flights_test.
Это упражнение является частью курса
Машинное обучение с PySpark
Инструкции к упражнению
- Извлеките лучшую модель.
- Изучите этапы лучшей модели.
- Выделите этап линейной регрессии и извлеките его параметры.
- Используйте лучшую модель для получения предсказаний на тестовых данных и вычислите RMSE.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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 =", ____.____(____))