Модель тривалості польоту: більше ознак!
Додаймо до нашої моделі більше ознак. Це не обов'язково дасть кращий результат. Деякі ознаки можуть покращити модель. Інші — погіршити.
Більше ознак завжди ускладнює модель і робить її важче інтерпретувати.
У наступній моделі ви використаєте такі ознаки:
kmorg(аеропорт відправлення, one-hot кодування, 8 рівнів)depart(час вильоту, згрупований у 3-годинні інтервали, one-hot кодування, 8 рівнів)dow(день тижня вильоту, one-hot кодування, 7 рівнів) таmon(місяць вильоту, one-hot кодування, 12 рівнів).
Їх зібрано в стовпці features, що є розрідженим поданням 32 стовпців (пам'ятайте, one-hot кодування створює кількість стовпців на один меншу, ніж кількість рівнів).
Дані доступні як flights, випадково поділені на flights_train і flights_test.
Ця вправа базується на невеликій підмножині даних про польоти.
Ця вправа є частиною курсу
Machine Learning з PySpark
Інструкції до вправи
- Навчіть модель лінійної регресії на тренувальних даних.
- Згенеруйте прогнози для тестових даних.
- Обчисліть RMSE на тестових даних.
- Перегляньте коефіцієнти моделі. Чи є серед них нульові?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____
# Fit linear regression model to training data
regression = ____(____).____(____)
# Make predictions on testing data
predictions = regression.____(____)
# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)
# Look at the model coefficients
coeffs = regression.____
print(coeffs)