Модели машинного обучения для прогнозирования спроса: упрощенный проектный подход— модели ARIMA и регрессии — KNN, деревья решений, случайный лес и XGBoost

Прогноз спроса на аренду автомобилей на почасовой основе.

Основная цель задачи — разработать подход машинного обучения для прогнозирования спроса на аренду автомобилей на почасовой основе.

Набор данных содержит почасовой спрос на аренду автомобилей примерно за 3 года.

Описание переменной:

  1. date -Дата (год-мм-дд)

2. час - час дня

3. спрос - нет. проката автомобилей в час

Метрика оценки. Метрика оценки рассматривается как оценка RMSE.

Подходы к разработке проектов:

1. Импортированы все необходимые библиотеки и пакеты Python, такие как Pandas, Numpy, Matplotlib, Scikit-learn,

2. Считайте данные во фрейм данных

3. Выполнил анализ загруженных данных и обнаружил, что средний часовой спрос, средний дневной спрос и средний годовой спрос составляют почти 73.

4. Нулевых значений выявлено не было, и не были записаны все 24 часа для каждого дня, пропущено несколько часов для каждого дня. Пропущенные часы учитываются, а спрос отмечается как 73, но это не приводит к увеличению производительности. И оставил данные поезда как есть.

Подход 1:

1. Объединил дату с часом и преобразовал тип данных вновь созданной функции в DateTime.

2. Постройте и оцените модель ARIMA с p.d,q = 3,1,2 или 1,0,0 и спрогнозируйте с помощью RMSE почти 39.

3. Работал над всеми основополагающими вещами для реализации модели ARIMA, такими как стационарность данных и проверка тенденций, сезонности, цикличности и т. д.

Подход 2:

1. Извлеченный день, месяц, год с даты.

2. Сгенерированный фрейм данных с характеристиками: день, месяц, год, час, спрос.

3. Создавайте и проверяйте регрессионные модели с разделением обучающих и тестовых данных на обучающие данные.

4. Внедрены KNN, деревья решений, случайный лес, нейронная сеть и XGBoost для прогнозирования почасового спроса.

5. Из всех моделей модель XGboost имеет оптимальную производительность с почти 37 RMSE.

6. Работал над всеми базовыми операциями, такими как перекрестная проверка поиска по сетке, важность функций и т. д.

Образцы кода: