Сжатый разреженный столбец (CSC) или Сжатый разреженный ряд (CSR) разреженная матрица?

У меня есть матрица дизайна, которую я конвертирую в разреженную матрицу с помощью модуля scipy

У этого есть много строк и только несколько столбцов

С этой формой лучше использовать дизайн CSC или CSR? Или они строго эквивалентны по скорости выполнения?

По сути, это выглядит следующим образом: (Но в истинном есть еще много строк)

Спасибо!

1 ответ

Вы можете легко конвертировать один формат в другой (.tocsc(),.tocsr()). по факту M.T для csr просто создает csc с теми же данными.

В ряде случаев sparse функции конвертируют матрицу в другой формат для выполнения определенных действий. В других случаях выдает предупреждение "эффективность", если формат не самый лучший. (будьте осторожны, предупреждения появляются только один раз за прогон.)

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

Создайте матрицу одним способом и проведите несколько временных тестов для типичных операций.

Другие вопросы по тегам