Крос-валідація простого моделя тривалості перельоту
Ви вже побудували кілька моделей для прогнозування тривалості перельоту та оцінили їх за допомогою простого поділу на тренувальну й тестову вибірки. Однак крос-валідація дає значно кращий спосіб оцінити якість моделі.
У цій вправі ви натренуєте просту модель тривалості перельоту з використанням крос-валідації. Час у дорозі зазвичай сильно корелює з відстанню, тож одна лише колонка km має дати непогану модель.
Дані випадково поділено на flights_train і flights_test.
Наступні класи вже імпортовано: LinearRegression, RegressionEvaluator, ParamGridBuilder і CrossValidator.
Ця вправа є частиною курсу
Machine Learning з PySpark
Інструкції до вправи
- Створіть порожню ґратку параметрів.
- Створіть об'єкти для побудови й оцінювання моделі лінійної регресії. Модель має передбачати поле "duration".
- Створіть об'єкт крос-валідації. Задайте значення аргументів
estimator,estimatorParamMapsтаevaluator. Оберіть 5-кратну крос-валідацію. - Натренуйте й протестуйте модель на кількох фолдах тренувальних даних.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.