Python: wie speichern Sie eine sparse-matrix mit python?

Ich habe eine Ausgabe mit sparse matrix in python, die ich brauche, um zu speichern diese sparse-matrix-in meiner Festplatte, wie kann ich es tun? wenn ich eine Datenbank erstellen, die dann, wie soll ich tun??
das ist mein code:

import nltk
import cPickle
import numpy
from scipy.sparse import lil_matrix
from nltk.corpus import wordnet as wn
from nltk.corpus import brown
f = open('spmatrix.pkl','wb')
def markov(L):
    count=0
    c=len(text1)
    for i in range(0,c-2):
        h=L.index(text1[i])
        k=L.index(text1[i+1])
        mat[h,k]=mat[h,k]+1//matrix
    cPickle.dump(mat,f,-1)



text = [w for g in brown.categories() for w in brown.words(categories=g)]
text1=text[1:500]
arr=set(text1)
arr=list(arr)
mat=lil_matrix((len(arr),len(arr)))
markov(arr)
f.close()

Brauche ich zum speichern dieser "Matte" in eine Datei und sollte Zugriff auf den Wert der matrix mit den Koordinaten..

Ergebnis des sparse-matrix ist wie folgt: "das Ergebnis der sparse-matrix wie folgt:

(173, 168) 2.0 (173, 169) 1.0 (173, 172) 1.0 (173, 237) 4.0 (174, 231) 1.0 (175, 141) 1.0 (176, 195) 1.0 

aber wenn ich es speichern in eine Datei und Lesen das gleiche hab ich es immer so:

(0, 68) 1.0 (0, 77) 1.0 (0, 95) 1.0 (0, 100)    1.0 (0, 103)    1.0 (0, 110) 1.0 (0, 112)   2.0 (0, 132)    1.0 (0, 133)    2.0 (0, 139)    1.0 (0, 146)    2.0 (0, 156)    1.0 (0, 157)    1.0 (0, 185)    1.0
  • Sie haben eine Besondere Datenbank im Sinn? Was die Größe dieser Matrizen? Haben Sie als sqlite (die Python hat eine eingebaute Unterstützung für)?
  • ich bin ein Neuling, ich weiß nicht viel, naja ich hab nur versucht eine Lösung zu finden, der zum speichern der matrix in der Festplatte, die ich nicht wollen, um das Programm auszuführen, zu produzieren, die matrix immer wieder, wenn ich die Speicherung der matrix kann ich nur verweisen Sie die matrix von Werten für die nächste Zeit.. pls mir empfehlen.. danke 🙂
  • Finden Sie in der folgenden zu formatieren Sie Ihren code so, dass es lesbar ist: stackoverflow.com/editing-help, im Grunde aber setzen Sie einfach 4 Leerzeichen vor jeder Zeile code und dann einzurücken, wie Sie wäre sonst machen Sie sicher, dass Sie lassen Sie eine Leerzeile zwischen code und kein normaler text.
InformationsquelleAutor Bhuvan raj | 2011-03-02
Schreibe einen Kommentar