Ich versuche, Algorithmen für 1000-dimensionale Daten mit 200k + Datenpunkte in Python zu implementieren. Ich möchte numpy, scipy, sklearn, networkx und andere nützliche Bibliotheken benutzen. Ich möchte Operationen wie die paarweise Entfernung zwischen allen Punkten durchführen und Clustering an allen Punkten durchführen. Ich habe funktionierende Algorithmen implementiert, die mit angemessener Komplexität ausführen, was ich will, aber wenn ich versuche, sie auf alle meine Daten zu skalieren, läuft mir der Arbeitsspeicher aus. Natürlich tue ich, die Erstellung der Matrix für paarweise Entfernungen auf 200k + Daten erfordert viel Speicher.Arbeiten mit großen Daten in Python und numpy, nicht genug RAM, wie partielle Ergebnisse auf der Festplatte speichern?
Hier kommt der Haken: Ich würde wirklich gerne auf beschissenen Computern mit geringen Mengen von RAM tun.
Gibt es einen durchführbaren Weg für mich, dies ohne die Einschränkungen der niedrigen Ram arbeiten zu können. Dass es viel länger dauern wird, ist wirklich kein Problem, solange die Zeit nicht ins Unendliche geht!
Ich würde gerne in der Lage sein, meine Algorithmen zur Arbeit zu bringen und dann eine Stunde oder fünf später wieder zu kommen und es nicht hängen zu lassen, weil es aus dem Widder lief! Ich möchte dies in Python implementieren und in der Lage sein, die numpy, scipy, sklearn und networkx Bibliotheken zu verwenden. Ich möchte in der Lage sein, die paarweise Entfernung zu all meinen Punkten usw. zu berechnen.
Ist das machbar? Und wie würde ich darüber reden, woran kann ich anfangen zu lesen?
Mit freundlichen Grüßen // Mesmer
Ihre Frage ist ziemlich vage und sehr breit. Sie sind ziemlich normale Datengrößen für viele Anwendungen in der Signalverarbeitung und beim maschinellen Lernen. Ich schlage vor, herauszufinden, über die Algorithmen und Techniken in diesen Bereichen verwendet werden. –
Ich möchte zum Beispiel paarweise Entfernung zwischen allen Punkten in einer 200.000 x 1000-Matrix in Python durchführen können, ohne genug RAM zu haben, um die gesamte Distanzmatrix im Speicher zu halten. Ich bin auf der Suche nach Informationen, wie man das macht :) Konkretere Antworten, dann ein vager "Blick in zwei ganze Teilbereiche der Informatik" wären hilfreich! – Ekgren
Wahrscheinlich möchten Sie sich die [memmap] von numpy (http://docs.scipy.org/doc/numpy/reference/generated/numpy.memmap.html) und möglicherweise [PyTables] (http: // www. pytables.org) als Ausgangspunkt. –