Разреженная матричная нарезка с использованием списка int
Я пишу алгоритм машинного обучения для огромных и разреженных данных (моя матрица имеет форму (347, 5 416 812 801), но очень разреженную, только 0,13% данных не равно нулю.
Размер моей разреженной матрицы составляет 105 000 байт (<1 МБ) и имеетcsr
тип.
Я пытаюсь разделить обучающие / тестовые наборы, выбрав список примеров индексов для каждого. Поэтому я хочу разделить мой набор данных на две части, используя:
training_set = matrix[train_indices]
формы(len(training_indices), 5 416 812 801)
все еще редкий
testing_set = matrix[test_indices]
формы(347-len(training_indices), 5 416 812 801)
также редкий
Сtraining_indices
а такжеtesting_indices
дваlist
изint
Ноtraining_set = matrix[train_indices]
кажется, не удается и вернутьSegmentation fault (core dumped)
Это может не быть проблемой памяти, так как я запускаю этот код на сервере с 64 ГБ ОЗУ.
Любая подсказка о том, что может быть причиной?