Плюсы и минусы использования разреженных матриц в python / R? - PullRequest
8 голосов
/ 22 апреля 2011

Я работаю с большими разреженными матрицами (матрицами объектов документа, сгенерированными из текста) в python.Для их обработки требуется немало времени и памяти, и я полагаю, что разреженные матрицы могут предложить некоторые улучшения.Но я обеспокоен тем, что использование библиотеки разреженных матриц усложнит подключение к другим модулям python (и R, через rpy2).

Могут ли люди, которые перешли этот мост, уже дать какой-нибудь совет?Каковы плюсы и минусы использования разреженных матриц в python / R с точки зрения производительности, масштабируемости и совместимости?

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Существует несколько способов представления разреженных матриц (документация для пакета R SparseM содержит 20 различных способов хранения данных разреженной матрицы), поэтому полная совместимость со всеми решениями, вероятно, не обсуждается. Числовые параметры также указывают на то, что не существует лучшего в всех ситуациях решения.

Выберите либо непрямую разреженную матрицу, либо R's SparseM (через rpy2) в зависимости от того, где найдены ваши подпрограммы вычисления больших чисел на этих матрицах (numpy или R).

1 голос
/ 27 апреля 2011

Использование разреженных матриц в Python само по себе не может быть хорошей идеей. Вы проверили разреженных матриц в numpy / scipy ?

Numpy приносит огромную выгоду от использования в основном кода на C для повышения производительности в Python.

Из-за моего ограниченного опыта работы с текстом в R производительность делает его практически непригодным для чего-либо, кроме исследовательского анализа данных.

Независимо от того, что вы не должны использовать списки ванили для разреженных матриц, это (понятно) займет некоторое время, чтобы прожевать их.

...