тематических статей в журнале. Есть тексты статьи разложены LDA -моделью на 20 топиков. Аналогично профиль интересов пользователя имеет размерность 20 и формируется исходя из истории кликов по какому-то закону (пусть, например, плавающее среднее)
Хочу обучить классификатор, который будет предсказывать вероятности принадлежности пары (профиль пользователя - профиль статьи) к классу 1 (клик/чтение статьи). Но вот беда - данные о кликах - это, естественно, данные класса 1, ведь нет кликов (0 класс) нет записи.
Я попробовал сделать pd.DataFrame().shift(n), то есть сместить на n, профили статей относительно профилей пользователей, как бы получая синтетические "неклики / нечтения" и общий набор данных с балансом классов 1:1, но на таких данных модель совершенно не учится (предсказывает константу).
В какую сторону искать решение проблемы? Почему модель не учится?
как вариант можно сделать мультикласс, то есть у вас будет вектор 19 нулей и 1 единица, этот человек клинкнул на одну тему и не кликнул на 19 остальных
Нет-нет, 20 тем - это 20 колонок каждой статьи. Читая статью, пользователь кликает на 20-мерный вектор, где каждая координата - отношение статьи к той или иной из 20 тем. Значения этих координат определяет обученная LDA-модель
Спасибо! О таком еще не слышал
Благодарю!
Обсуждают сегодня