Несбалансированный набор данных для рекомендательной системы - PullRequest
0 голосов
/ 11 апреля 2019

Я строю систему рекомендации с керасом.Учебный набор содержит более 200 тыс. Выборок, но 180 тыс. Из рейтинга 4. Распределение приведено здесь.

Рейтинг 5,0 89 4,0 187836 3,0 20032 2,0 6185 1,0 648 0,0 36 dtype: int64

Очевидномодель не подходит для менее представленных ярлыков.Как мне решить эту проблему?

Я пробовал SMOTE, но это не помогло.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Может помочь простой метод передискретизации. Вы можете попробовать этот сбалансированный пакетный генератор для Keras. Он генерирует сбалансированные партии , то есть партии, в которых количество выборок из каждого класса в среднем одинаково. Это может препятствовать смещению модели в сторону большинства. Кроме того, я рекомендую небольшой размер партии, например, 32 или 64.

0 голосов
/ 11 апреля 2019

Вы можете использовать sklearn для вычисления класса веса .И используйте эти рассчитанные параметры, чтобы назначить class_weight в model.fit.Это может помочь решить вашу проблему.

...