Общая схема проекта
Карта внутренней корреляции
Качество данных (1)
Качество данных (2)
На карте внутренней корреляции видим, что признаки time_of_day_bst и Hour, Quarter и Month попарно имеют высокую внутреннюю корреляцию, поэтому в финальной выборке признаки, имеющие меньшую корреляцию с целевой переменной, будут исключены.
Также видим, что признак programExtendedName категорийный и принимает большое количество разных значений. Это не очень хорошо для обучения модели, но объединить значения этой переменной не представляется возможным — у нас был объединяющий признак programCategoryName, но впоследствии оказалось, что для будущих телепередач этот признак не задан, и при прогнозировании не получится им пользоваться. Поэтому пока оставим признак programExtendedName в нашем датасете, но больших надежд на него возлагать не будем.
В итоге у нас остались в основном временные признаки (День, Месяц, Квартал, Год, time_of_day_bst, researchWeekDay, researchDayTypeName, breaksPrimeTimeStatusId) и лишь пара описательных (breaksPosition, programExtendedName).
Не будем пытаться угадать, какой из алгоритмов машинного обучения лучше подойдет к решению задачи построения модели для прогнозирования телерейтинга, а проверим работу всех алгоритмов-регрессоров и сравним их результаты. Затем для лучшего из них попробуем оптимизировать гиперпараметры.
В работе применялись следующие инструменты:
В библиотеках доступны следующие алгоритмы:
Посмотрим на основные метрики для задачи регрессии: MAE, MSE, R-квадрат, MAPE:
MAE
MSE
R-квадрат
MAPE
MAE после оптимизации гиперпараметров
MAPE после оптимизации гиперпараметров
MSE после оптимизации гиперпараметров
R-квадрат после оптимизации гиперпараметров