Вопрос или проблема
Я просто хочу спросить, можно ли использовать библиотеку Surprise (алгоритм SVD) для построения рекомендательной системы, которая предсказывает длительность просмотра для пары user_id и video_id?
У меня есть набор данных, содержащий user_id, video_id и длительность просмотра для user_id к video_id.
Длительность просмотра варьируется от 1с до 1014573с и имеет сильный правый перекос (Большинство длительностей просмотра составляют 1-3000с), и я просто интересуюсь, могу ли я использовать пакет surprise для создания модели SVD, которая предсказывает длительность просмотра, а не традиционную рейтинговую систему (1-5)?
Я попробовал этот метод и получил RMSE 3500, что, как мне кажется, очень плохо. Я получил тот же RMSE из моего результата CV и набора отложенной выборки, так что модель не переобучается, результаты просто действительно плохие.
Любая помощь будет признательна, спасибо!
Нет – использование рекомендательной системы для предсказания длительности просмотра не будет работать хорошо.
Длительность просмотра — это непрерывная цель, поэтому более полезно будет моделировать ваш сценарий как задачу регрессии.
Попробуйте найти пользовательские и видео-характеристики, которые связаны с разницей во времени длительности просмотра.
.
Ответ или решение
Конечно, давайте рассмотрим вашу задачу более детально и проанализируем, насколько применение библиотеки Surprise и алгоритма SVD подходит для решения задачи предсказания продолжительности просмотра видео для каждой пары user_id и video_id.
Проблема и текущий подход
Вы столкнулись с задачей предсказания времени просмотра видео конкретным пользователем на основе имеющихся данных, которые включают user_id, video_id, и фактическую продолжительность просмотра. Ваш текущий подход предполагает использование библиотеки Surprise, которая традиционно применяется для рекомендационных систем предсказания рейтингов (например, в диапазоне 1–5). Учитывая, что продолжительность просмотра является непрерывной величиной, колеблющейся от 1 до 1014573 секунд, и подвергнутой сильному правому смещению, этот подход вызывает обоснованные сомнения.
Проблемы с использованием SVD
-
Ограничения SVD для непрерывных величин: Алгоритм SVD в Surprise предназначен для задачи рекомендации, где необходимо предсказать дискретные рейтинги, а не непрерывные значения, такие как время. Это ограничивает его применимость в вашей задаче.
-
Проблемы с оценкой качества: Полученный RMSE в 3500 указывает на значительную дистанцию между предсказаниями и реальными значениями, что свидетельствует о низкой точности модели.
-
Характер распределения данных: Поскольку данные сильно правосторонне смещены, это также может вызвать трудности для алгоритмов, которые не адаптированы для работы с подобными распределениями.
Альтернативные подходы
-
Моделирование как задача регрессии:
- Особенности данных: Следует сосредоточиться на выделении основных признаков, связанных с различиями в продолжительности просмотра, таких как временные метки, жанр видео, демографические данные пользователя и т.д.
- Выбор алгоритмов: Рассмотрите использование регрессионных моделей, способных работать с непрерывными величинами, таких как Random Forest Regressor, Gradient Boosting, или даже простые линейные модели, где распределение можно стабилизировать с помощью логарифмической трансформации.
-
Предобработка данных:
- Применение логарифмической или другой трансформации для уменьшения правого смещения данных может помочь улучшить предсказательную способность моделей.
- Поскольку данные очень разреженные, следует также рассмотреть техники заполнения пропусков или агрегирование данных.
-
Дополнительные методы:
- Использование нейронных сетей, например, рекуррентных или свёрточных, которые хорошо работают с подобными задачами, если у вас есть большой объем данных.
- Применение клaстеризации для сегментации пользователей и видео, что позволит строить более целенаправленные модели.
Заключение
Вместо применения подхода, используемого в рекомендационных системах, рекомендуется рассматривать эту задачу как регрессионную проблему. Выделение релевантных признаков и применение соответствующих регрессионных алгоритмов увеличит точность предсказаний. Помните, что важно тщательно подходить к подготовке данных и выбору методов, чтобы оптимально решить поставленную задачу.