R - нехватка памяти при преобразовании в фиктивные переменные

У меня есть набор данных с категориальной переменной с уродливым количеством уровней (5000 или около того). Когда я запустил свой код для преобразования в фиктивные переменные, он сказал, что ему нужно 22 гигабайта памяти и вылетает

dmy <- dummyVars(" ~ .", data = num_data)
new_data <- data.frame(predict(dmy, newdata = num_data))

Что мне делать в этом случае? Выбираете облачное решение? Попробуйте оптимизировать функции?


person Ablomis    schedule 03.11.2015    source источник
comment
использовать разреженную матрицу модели? расскажите нам больше о том, что вы делаете (например, сколько у вас наблюдений)? Сообщите нам, что вы используете пакет caret?   -  person Ben Bolker    schedule 03.11.2015
comment
Итак, проблема в следующем: - есть набор данных с розничными продажами (с разбивкой по посещениям) - каждая строка - это номер посещения, тип посещения и категория, в которой покупатель купил продукты - категориальная переменная (так что есть несколько строк с одним и тем же посещением число, тип посещения, но разные категории, поскольку клиент мог купить много продуктов по категориям) - цель состоит в том, чтобы предсказать тип посещения на основе категорий, из которых клиент купил продукт - имеется 600 000 строк (около 200 000 посещений) и 5000 категорий Итак, я пытаюсь преобразовать переменную категории продукта для машинного обучения.   -  person Ablomis    schedule 03.11.2015
comment
Вам не нужно объяснять историю. Мы предлагаем вам использовать sparse.model.matrix, а затем попробовать пакет glmnet с функцией cv.glmnet, поддерживающей разреженный ввод.   -  person Marcin Kosiński    schedule 04.11.2015


Ответы (1)


Да, попробуйте _1 _

Или расширить пределы памяти

 memory.limit(10*memory.limit())
person Marcin Kosiński    schedule 03.11.2015