Сжатый разреженный столбец (CSC) или Сжатый разреженный ряд (CSR) разреженная матрица?
У меня есть матрица дизайна, которую я конвертирую в разреженную матрицу с помощью модуля scipy
У этого есть много строк и только несколько столбцов
С этой формой лучше использовать дизайн CSC или CSR? Или они строго эквивалентны по скорости выполнения?
По сути, это выглядит следующим образом: (Но в истинном есть еще много строк)
Спасибо!
1 ответ
Вы можете легко конвертировать один формат в другой (.tocsc()
,.tocsr()
). по факту M.T
для csr
просто создает csc
с теми же данными.
В ряде случаев sparse
функции конвертируют матрицу в другой формат для выполнения определенных действий. В других случаях выдает предупреждение "эффективность", если формат не самый лучший. (будьте осторожны, предупреждения появляются только один раз за прогон.)
Если вы перебираете столбцы или выбираете в основном по столбцам, csc
лучше с обратным верным для csr
, Для математики, матричных произведений и тому подобного они эквивалентны.
Создайте матрицу одним способом и проведите несколько временных тестов для типичных операций.