Я использую большой nump.narray (11.000x3180) для разработки активного алгоритма обучения (Text mining). В этом алгоритме я должен удалить каждый из них 16 образцов (векторы строк) в моем наборе данных, а затем интегрировать их в набор тренировок (он увеличивается на 16 выборок на итерацию). После выполнения этого процесса в течение 60 итераций (приблизительно), алгоритм инициализируется снова и снова тот же самый процесс с самого начала для 100 пробеговУдалите несколько элементов из numy.narray без numpy.delete
Чтобы удалить набор из 16 элементов в моем наборе данных, я использую метод numpy.delete (dataset [ListifoIndex], axis = 0)
, где [ListifoIndex]
соответствует индексам выбранных элементов для удаления.
Этот метод работает для первого запуска (1 из 100), а затем инициализировать алгоритм снова, я следующее сообщение об ошибке:
new = empty(newshape, arr.dtype, arr.flags.fnc)
MemoryError
Видимо numpy.delete
Metod создает копию моей базы данных для каждого из индексы (16x1,2 ГБ), что превышает объем памяти, который у меня есть на моем компьютере.
вопрос: как я могу удалить элементы из numpy.narray, чтобы не использовать много памяти и без чрезмерного времени выполнения?
PD1: Я выполнил обратный процесс, где я добавляю элементы, которые не находятся в списке индексов для удаления, но процесс выполняется очень медленно. PD2: Иногда ошибка происходит до инициализации алгоритма (до итерации числа 60)
@ редактировать matsjoyce был изменить язык названия с французского языка на английский. Вот политика по неанглийским вопросам: http://blog.stackoverflow.com/2009/07/non-english-question-policy/ –
@BenFulton Ах, наконец! Я искал этот пост на мета. Я хочу, чтобы эти вещи были легче найти, например, в разделе справки ... – matsjoyce