0

Я использую алгоритм CF (SVD) в наборе данных реального мира. Теперь я встречаю проблему с разрешенной проблемой. Это означает, что разреженность пользовательской/товарной матрицы составляет около 0,01%. Я разделил данные на набор поездов/тестов с 80/20, я обнаружил, что в наборе обучения появилось всего несколько пользователей и элементов в наборе тестов, поэтому я могу просто использовать несколько оценок в тестовом наборе для вычисления RMSE. Не могли бы вы мне посоветовать исправить это?Как разделить поезд/тест крайне редкого набора данных системы рекомендаций?

ответ

2

В случае систем рекомендаторов обычно обычно разбивается история каждого пользователя на поезд и тест. Подробнее:

  1. Для каждого пользователя мы выписываем элементы, с которыми он взаимодействовал.
  2. Предпочтительно, мы заказываем им (время) для преодоления «проблемы с путешествием во времени» (пользователь может повторно просмотреть уже известные элементы, поэтому вы не хотите тестировать ранний набор данных).
  3. Как обычно, вы используете первые (1-k) проценты вашего набора данных в качестве набора для поездов, а остальные - в качестве тестового набора.
+0

спасибо, что ответите. Вы имеете в виду, что я должен реорганизовать данные как: {u1: [v11, v12 ...], u2: [v21, v22, ..], ...} и использовать первые (1-k) проценты каждого списка элементов пользователя , Если это так, по моим данным, многие пользователи оценивают один элемент, поэтому, если я разделил их на тестовый набор, я не получу ничего (скрытый фактор vec p_u или q_i), чтобы предсказать рейтинг пользователя в тестовом наборе. – littlekid

+0

@littlekid, эти пользователи, которые только взаимодействовали с одним элементом, слишком шумны, я сомневаюсь, что вы можете получить для них надежные рекомендации. Эти пользователи обычно отфильтровываются на стадии предварительной обработки. –

+0

Мои наборы данных делятся на разные жанры, каждая запись включает не только голосование, но и обзор, я думаю, что это причина, по которой матрица голосования настолько разрежена. Если я отфильтрую эти шумные данные, набор данных будет слишком мал, чтобы получить рекомендации. – littlekid

 Смежные вопросы

  • Нет связанных вопросов^_^