Pro und Kontra zur Verwendung von dünn besetzten Matrizen in Python / R?

8

Ich arbeite mit großen, dünn besetzten Matrizen (Dokument-Feature-Matrizen aus Text) in Python. Es dauert ziemlich viel Verarbeitungszeit und Speicher, um durch diese zu kauen, und ich stelle mir vor, dass dünn besetzte Matrizen einige Verbesserungen bieten könnten. Aber ich bin besorgt, dass die Verwendung einer dünn besetzten Matrix-Bibliothek es schwieriger machen wird, sie in andere python (und R, durch rpy2) Module zu stecken.

Können Leute, die diese Brücke überquert haben, schon Ratschläge geben? Was sind die Vor- und Nachteile der Verwendung von dünn besetzten Matrizen in Python / R, in Bezug auf Leistung, Skalierbarkeit und Kompatibilität?

    
Abe 21.04.2011, 20:32
quelle

2 Antworten

1

Die Verwendung von dünn besetzten Matrizen in Python ist möglicherweise keine gute Idee. Haben Sie dünn besetzte Matrizen in numpy / scipy ausprobiert?

Numpy bringt den immensen Vorteil, hauptsächlich C-Code zu verwenden, um in Python Leistungsgewinne zu erzielen.

Aufgrund meiner begrenzten Erfahrung in der Textverarbeitung in R ist die Leistung für alles außer explorative Datenanalyse ziemlich unbrauchbar.

Ungeachtet dessen sollten Sie keine Vanillelisten für dünn besetzte Matrizen verwenden, es wird (verständlicherweise) eine Weile dauern, um durch sie zu kauen.

    
zahanm 27.04.2011, 10:02
quelle
1

Es gibt mehrere Möglichkeiten, dünn besetzte Matrizen darzustellen (die Dokumentation für das R SparseM-Paket enthält 20 verschiedene Möglichkeiten, dünn besetzte Matrixdaten zu speichern), sodass eine vollständige Kompatibilität mit allen Lösungen wahrscheinlich nicht in Frage kommt. Die Anzahl der Optionen deutet auch darauf hin, dass es keine Best-in-All-Situationen-Lösung gibt.

Wählen Sie entweder die numpy dünn besetzten Matrizen oder R sparseM (durch rpy2), je nachdem, wo Ihre schweren Zahlen Knirschen Routinen auf diesen Matrizen gefunden werden (numpy oder R).

    
lgautier 04.05.2011 17:13
quelle

Tags und Links