НачатьНачать бесплатно

Модель продолжительности рейса: больше признаков!

Давайте добавим в нашу модель больше признаков. Это не обязательно сделает её лучше: одни признаки могут улучшить результат, другие — ухудшить.

Чем больше признаков, тем сложнее модель и тем труднее её интерпретировать.

Вот признаки, которые войдут в следующую модель:

  • km
  • org (аэропорт вылета, унитарное кодирование, 8 уровней)
  • depart (время вылета, разбитое на трёхчасовые интервалы, унитарное кодирование, 8 уровней)
  • dow (день недели вылета, унитарное кодирование, 7 уровней) и
  • mon (месяц вылета, унитарное кодирование, 12 уровней).

Все они объединены в столбец features, который представляет собой разреженное представление из 32 столбцов (напомним, что унитарное кодирование создаёт число столбцов на один меньше, чем количество уровней).

Данные доступны в виде flights и случайным образом разделены на flights_train и flights_test.

Это упражнение основано на небольшом подмножестве данных о рейсах.

Это упражнение является частью курса

Машинное обучение с 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)
Редактировать и запускать код