Ich habe eine sehr große Trainingsmenge (~ 2 GB) in einer CSV-Datei. Die Datei ist zu groß direkt in den Speicher zu lesen (read.csv()
bringt den Computer zum Stillstand) und ich möchte die Größe der Datendatei mit PCA reduzieren. Das Problem ist, dass (soweit ich das beurteilen kann) ich die Datei in den Speicher lesen muss, um einen PCA-Algorithmus auszuführen (z. B. princomp()
).tun PCA auf sehr großen Datensatz in R
Ich habe versucht, das Paket bigmemory
die Datei in als big.matrix
zu lesen, aber princomp
funktioniert nicht auf big.matrix
Objekte und es scheint nicht, wie big.matrix
kann wie ein data.frame
in etwas umgewandelt werden.
Gibt es eine Möglichkeit princomp
auf einer großen Datei zu laufen, die ich vermisse?
Ich bin ein relativer Neuling bei R, so dass einige davon für erfahrene Benutzer offensichtlich sein können (Entschuldigung in Avance).
Danke für jede Info.
Grundsätzlich müssen Sie PCA tun, ohne die Probe Kovarianzmatrix abzuschätzen. Es gibt eine große Literatur über hochdimensionale PCA, insbesondere mit Anwendungen für Bildverarbeitung und Finanzmärkte. Es ist jedoch mehr als wahrscheinlich, dass es nicht trivial ist. – John
Wie viele Beobachtungen und wie viele Variablen enthält die Datei? – rolando2
@ rolando2 Es enthält etwa 50K Zeilen und ~ 10000 Spalten – user141146