Работа с большими данными в Python и NumPy, не хватает оперативной памяти, как сохранить частичные результаты на диске?

Я пытаюсь реализовать алгоритмы для 1000-мерных данных с 200k + точек данных в Python. Я хочу использовать numpy, scipy, sklearn, networkx и другие полезные библиотеки. Я хочу выполнить такие операции, как попарное расстояние между всеми точками и выполнить кластеризацию по всем точкам. Я реализовал рабочие алгоритмы, которые выполняют то, что я хочу, с разумной сложностью, но когда я пытаюсь масштабировать их до всех моих данных, у меня заканчивается оперативная память. Конечно, я делаю, создание матрицы для парных расстояний на 200k + данных занимает много памяти.

Вот тут-то и кроется подвох: мне бы очень хотелось сделать это на дерьмовых компьютерах с небольшим количеством оперативной памяти.

Есть ли реальный способ для меня, чтобы сделать эту работу без ограничений низкой оперативной памяти. То, что это займет гораздо больше времени, на самом деле не является проблемой, если время не требуетне уходи в бесконечность!

Я хотел бы иметь возможность заставить мои алгоритмы работать, а затем вернуться через час или пять и не застревать, потому что у него кончился баран! Я хотел бы реализовать это на python и иметь возможность использовать библиотеки numpy, scipy, sklearn и networkx. Я хотел бы иметь возможность рассчитать попарное расстояние до всех моих точек и т. Д.

Это возможно? И как мне поступить, что я могу начать читать?

С уважением // Месмер

Ответы на вопрос(2)

Ваш ответ на вопрос