2017-11-21 3 views
0

Ich habe eine große Term Document Matrix. (6 Elemente, 44.3 Mb)Konvertieren Large Document Term Document Matrix in Matrix

Ich muss es in eine Matrix konvertieren, aber wenn ich es versuche, bekomme ich die magische Fehlermeldung: "kann nicht 100 GBs zuweisen".

Gibt es ein Paket/eine Bibliothek, das diese Umwandlung in Blöcken ermöglicht?

Ich habe ff und bigmemory ausprobiert, aber sie scheinen keine Konvertierung von DTMs zu Matrix zu erlauben.

+0

Vielleicht eine dumme Frage, die Sie bereits durch haben gedacht, aber was sind Ihre Downstream-Operationen, Sie möchten auf die Matrix anwenden? Vielleicht gibt es auch Wege, um den ganzen DTM zur Matrix zu machen? –

Antwort

1

Bevor Sie in die Matrix konvertieren, entfernen Sie einige Begriffe aus der Term Document Matrix. Dies wird Ihre Matrixgröße erheblich reduzieren. Um sparse Begriffe zu entfernen, können Sie wie folgt tun:

library(tm) 
## tdm - Term Document Matrix 
tdm2 <- removeSparseTerms(tdm, sparse = 0.2) 
tdm_Matrix <- as.matrix(tdm2) 

Hinweis: Ich habe 0,2 für spärlich nur für ein Beispiel. Sie sollten diesen Wert basierend auf Ihrer tdm entscheiden.

Hier sind einige Verbindung, die Licht auf removeSparseTerms Funktion und sparse Wert verlieren würde:

How does the removeSparseTerms in R work?

https://www.rdocumentation.org/packages/tm/versions/0.7-1/topics/removeSparseTerms

+0

In Anbetracht der Entfernung von spärlichen Begriffen könnten Sie darüber nachdenken, Begriffe auf der Basis der tf-idf-Gewichtung auszuschließen. Für DTMs ist dies oft eine sinnvolle Option, ohne Kerninformationen zu verlieren. –

Verwandte Themen