Я пытаюсь запустить алгоритм совместной фильтрации (CF) в данных «User-Item-Rating». Мои данные в длинном формате, т.е. каждая строка имеет данные для пользовательского рейтинга определенного элемента. Мне нужно преобразовать это в матрицу «Пользовательский элемент», прежде чем я смогу применить к нему CF-алгоритм.Создание матрицы пользовательских элементов для совместной фильтрации
Я использую функцию spread
из пакета tidyr
для выполнения этой задачи. Но, учитывая, что у меня есть более чем 50 тысяч уникальных элементов, результирующий фреймворк будет огромным. R не может выполнить это (на моей локальной машине) и выбрасывает ошибку «не может выделить вектор размера».
Каков наилучший способ справиться с этим? Некоторые из вариантов я попытался исследовать, но не смог заставить их работать:
- Я думаю, если есть способ, чтобы вернуть выход спреда вызова как разреженная матрица
- Я также попытался исследовать, если пакеты, которые реализуют CF, такие как
recommenderlab
, имеют возможность справиться с этим. Но я не мог найти для этого никакого варианта.
Любая помощь будет принята с благодарностью.
Спасибо!
Чтобы получить больше ответов быстро на R вопросы, это всегда лучше, чтобы добавить немного [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how- к-макияж а-пра-р-воспроизводимый-пример # ответ-5963610). Наведите указатель мыши на тег R под своим сообщением ... – lukeA