2016-07-27 10 views
3

Ich arbeite gerade an meiner Diplomarbeit, die sich mit einem ziemlich großen Datensatz beschäftigt: ~ 4mln Beobachtungen und ~ 260ths Features. Es ist ein Datensatz von Schachspielen, wobei die meisten Features Spieler-Dummies sind (130k für jede Farbe).Umgang mit Big Data zur zufälligen Gesamtstrukturklassifizierung

Wie für die Hardware und die Software habe ich etwa 12 GB RAM auf diesem Computer. Ich mache all meine Arbeit in Python 3.5 und benutze hauptsächlich Pandas und Scikit-Lern-Pakete.

Mein Problem ist, dass ich diese Datenmenge natürlich nicht in meinen Arbeitsspeicher laden kann. Was ich gerne tun würde, ist die Dummy-Variablen zu generieren, dann die Datenbank in etwa tausend Stücke zu schneiden, die zufällige Gesamtstruktur anzuwenden und die Ergebnisse erneut zu aggregieren.

Dazu müsste ich aber in der Lage sein, zuerst die Dummy-Variablen zu erstellen, was ich aufgrund eines Speicherfehlers nicht tun kann, auch wenn ich dünn besetzte Matrizen verwende. Theoretisch könnte ich zuerst die Datenbank zerlegen und dann die Dummy-Variablen erstellen. Der Effekt davon wird jedoch sein, dass ich verschiedene Funktionen für verschiedene Slices haben werde, so dass ich nicht sicher bin, wie solche Ergebnisse aggregiert werden.

Meine Fragen:
1. Wie würden Sie Jungs Ansatz, dieses Problem? Gibt es eine Möglichkeit, die Ergebnisse meiner Schätzung zu "verschmelzen", obwohl sie unterschiedliche Merkmale in verschiedenen "Datenstücken" haben?
2. Vielleicht ist es möglich, dieses Problem durch Vermietung eines Servers zu vermeiden. Gibt es Testversionen solcher Dienste? Ich bin mir nicht sicher, wie viel CPU/RAM ich brauche, um diese Aufgabe zu erledigen.

Vielen Dank für Ihre Hilfe wird jede Art von Tipps geschätzt werden :)

+1

Für die zweite Frage: Vielleicht wäre das AWS-Programm für Sie interessant: https://aws.amazon.com/education/awseducate/. –

+0

Anscheinend hat meine Uni ihre E-Mail-Adresse verloren und meine Bewerbung wird insta-abgelehnt, aber ich werde versuchen, sie zu kontaktieren und zu sehen, was ich tun kann, danke! :) – JohnnyQ

Antwort

4

ich Sie CloudxLab einen Versuch geben würde vorschlagen.

Obwohl es nicht kostenlos ist, ist es durchaus erschwinglich ($ 25 für einen Monat). Es bietet eine komplette Umgebung zum Experimentieren mit verschiedenen Tools wie HDFS, Map-Reduce, Hive, Schwein, Kafka, Spark, Scala, Sqoop, Oozie, Mahout, MLLib, Zookeeper, R, Scala usw. Viele der beliebten Trainer verwenden CloudxLab .

Verwandte Themen