Ich versuche mit Hilfe des Packets e1071 und dem Befehl svm() eine Support Vector Machine für einen großen Datensatz, mit über 210.000 Beobachtungen und über 280 Variablen, zu bestimmten. Jetzt habe ich hierbei das Problem, dass ich Anfangs die Fehlermeldung cannot allocate Vector of size 335 GB bekommen habe. Habe dann um den Fehler zu umgehen memorysize(max = T) gemacht. Nach 3 Tagen ist die Funktion immer noch nicht durchgelaufen. Bei einem kleinen Datensatz mit lediglich 7000 Beobachtungen hat der svm() Befehl nur etwa 5 Sekunden gebraucht.
Jetzt bin ich auf der Suche nach einer Lösung um auch große Datenmenge zu verarbeiten. Ich würde mich sehr über Hilfe freuen.
SVM bei großen Datensätzen
Re: SVM bei großen Datensätzen
Hallo Student88,
hat denn der Computer, auf dem Du rechnest mehr als 335 GB RAM? (R arbeitet grundsätzlich im RAM)
Hast Du eine Abschätzung der Laufzeit vorgenommen?
n=7000 t=5 sec
n=10000 t=...
n=14000 t=...
Gruß, Jörg
hat denn der Computer, auf dem Du rechnest mehr als 335 GB RAM? (R arbeitet grundsätzlich im RAM)
Hast Du eine Abschätzung der Laufzeit vorgenommen?
n=7000 t=5 sec
n=10000 t=...
n=14000 t=...
Gruß, Jörg
Re: SVM bei großen Datensätzen
... oder im Swap-Speicher, wenn der RAM aufgebraucht ist - dann geht natürlich die Performance in den Keller!R arbeitet grundsätzlich im RAM
Re: SVM bei großen Datensätzen
Der Unterschied in der Laufzeit scheint auch nicht nur an der Größe des Datensatzes zu liegen.
Bei der einen Datei waren nur 7000 Beobachtungen vorhanden und es hat 5 Sekunden gedauert und bei der anderen Datei habe ich jetzt eine Stichprobe von 7000 Beobachtungen gezogen und die Funktion läuft schon seit mehreren Minuten.
Die Datensätze unterscheiden sich darin, dass ich bei dem einen Datensatz weniger als 100 Beobachtungen hatte, die als 1 klassifiziert waren und fast 7000 0er und bei dem anderen ist es deutlich ausgeglichener.
Hat vielleicht jemand ne Ahnung davon ob es Funktionen für SVMs gibt, die deutlich weniger Rechenintesiv sind als die von mir verwendete ?
Viele Grüße
Bei der einen Datei waren nur 7000 Beobachtungen vorhanden und es hat 5 Sekunden gedauert und bei der anderen Datei habe ich jetzt eine Stichprobe von 7000 Beobachtungen gezogen und die Funktion läuft schon seit mehreren Minuten.
Die Datensätze unterscheiden sich darin, dass ich bei dem einen Datensatz weniger als 100 Beobachtungen hatte, die als 1 klassifiziert waren und fast 7000 0er und bei dem anderen ist es deutlich ausgeglichener.
Hat vielleicht jemand ne Ahnung davon ob es Funktionen für SVMs gibt, die deutlich weniger Rechenintesiv sind als die von mir verwendete ?
Viele Grüße
Re: SVM bei großen Datensätzen
Vielleicht beschreibst Du mal Dein Problem (binäre Klassifikation?) und sagst, warum es eine SVM sein muss!?
Re: SVM bei großen Datensätzen
Ja, genau. Ich will eine binäre Klassifikation machen und ich wollte unterschiedliche Verfahren miteinander vergleichen. Neuronale Netze, logistische Regression, SVM, Random Forrest und eventuell noch ein zusätzliches Verfahren was ich mir überlegen müsste. Ich wollte es auch mal mit Support Vector Machine versuchen, weil die linearen SVMs von der Interpretierbarkeit der Modelle her Vorteile gegenüber Verfahren wie zum Beispiel neuronalen Netzen haben.