Software-Tools für Statistik und Data Mining für den Umgang mit großen Datenmengen

27

Derzeit muss ich ungefähr 20 Millionen Datensätze analysieren und Vorhersagemodelle erstellen. Bisher habe ich Statistica, SPSS, RapidMiner und R ausprobiert. Unter diesen scheint Statistica am besten für das Data Mining geeignet zu sein, und die RapidMiner-Benutzeroberfläche ist ebenfalls sehr praktisch, aber es scheint, dass Statistica, RapidMiner und SPSS nur für kleinere Datensätze geeignet sind .

Kann jemand ein gutes Tool für große Datensätze empfehlen?

Danke!

niko
quelle
6
Können Sie bitte etwas genauer sein? Was möchten Sie eigentlich mit meinen Daten erfassen und wie planen Sie dies? Ich habe R verwendet, um ähnlich große Datensätze wie Ihre zu analysieren, und es war überhaupt keine schlechte Erfahrung.
Suncoolsu
Diese Frage wird schnell datiert. Es könnte gut sein, eine halbjährliche Zusammenfassung (Wiki) für die neuesten Informationen zu solchen Tools zu haben.
Iterator

Antworten:

19

Ich werde @suncoolsu Kommentar zweitens: Die Dimensionalität Ihres Datensatzes ist nicht das einzige Kriterium, das Sie auf eine bestimmte Software ausrichten sollte. Wenn Sie beispielsweise nur ein unbeaufsichtigtes Clustering planen oder PCA verwenden möchten, gibt es mehrere spezielle Tools, die mit großen Datenmengen umgehen, wie sie in Genomstudien häufig vorkommen.

Nun R (64 Bit) verarbeitet große Daten ziemlich gut, und Sie haben immer noch die Möglichkeit , zu verwenden Plattenspeicher anstelle von RAM - Zugriff, aber CRAN Aufgabenansicht sehen High Performance Computing und Parallel R . Standard-GLM bietet Platz für 20.000 Obs. (aber siehe auch speedglm ) innerhalb einer angemessenen Zeit, wie unten gezeigt:

> require(MASS)
> n <- 20000
> X <- mvrnorm(n, mu=c(0,0), Sigma=matrix(c(1,.8,.8,1), 2, 2))
> df <- cbind.data.frame(X, grp=gl(4, n/4), y=sample(c(0,1), n, rep=TRUE))
> system.time(glm(y ~ ., data=df))
   user  system  elapsed
  0.361   0.018    0.379

Zur genaueren Veranschaulichung verwendete ich R zur Verarbeitung und Analyse großer genetischer Daten (800 Individuen x 800.000 SNPs , wobei das statistische Hauptmodell eine geschichtete GLM mit mehreren Kovariaten (2 Minuten) war; dies wurde dank effizienter R und R ermöglicht C-Codes im snpMatrix- Paket verfügbar (im Vergleich dazu dauerte dieselbe Art von Modell mit einer speziellen C ++ - Software ( plink ) ungefähr 8 Minuten . Ich arbeitete auch an einer klinischen Studie (12.000 Patienten x 50 interessierende Variablen) und R passte zu meinen Bedürfnissen Soweit ich weiß, ist das lme4- Paket die einzige Software, die es ermöglicht, ein Modell mit gemischten Effekten mit unausgeglichenen und großen Datenmengen zu kombinieren (wie dies bei einer groß angelegten Bildungsbewertung der Fall ist).

Stata / SE ist eine weitere Software, die große Datenmengen verarbeiten kann . SAS und SPSS sind dateibasierte Software, sodass sie große Datenmengen verarbeiten können. Eine vergleichende Überprüfung der Software für die Datenerfassung finden Sie in Data Mining-Tools: Welche ist die beste für CRM . Für die Visualisierung gibt es ebenfalls zahlreiche Optionen. Vielleicht ist ein guter Anfang die Grafik großer Datensätze: Visualisierung einer Million ( im JSS von P. Murrell geprüft ) und aller verwandten Themen auf dieser Site.

U / min chl
quelle
@chl: Haben Sie schon eine effektive Parallel-Computing-Lösung für 64-Bit-R gefunden? Als ich das letzte Mal nachgesehen habe (Ende dieses Sommers), schienen die einzigen nichtkommerziellen nur in 32-Bit R zu
funktionieren.
1
@whuber Nein. Ich musste letztes Jahr auf 64-Bit umsteigen, um große genetische Datenmengen zu verwalten, aber die statistischen Modelle, die wir verwendeten, erfordern keine Parallelisierung (soweit ich weiß). Ich dachte, dass es eine OpenMP-Bindung für R gibt, habe dies aber nicht weiter untersucht. Ich weiß, dass Revolution Analytics Anstrengungen in diesem Sinne unternommen hat ( j.mp/d7dFb5 ), aber immer noch in 32 Bit (das ist wahrscheinlich, worauf Sie sich bezogen haben). Ich habe in der Zwischenzeit R / parallel ( rparallel.org ) gefunden, weiß aber nicht, wie zuverlässig / ausgereift es ist.
Chl
@chl Ich habe sie alle ausprobiert, konnte aber keine zum Laufen bringen.
Whuber
@Whuber: Sind Sie auf Windows oder einer * Nix-Box (Mac, Linux, ...)
User603
2
Ich würde dir raten, Ubuntu zu installieren (google 'download ubuntu') und deine Windows-only-Apps in Ubuntu über virtualbox ( youtube.com/watch?v=KXgKnd-u2R4 ) auszuführen . R- und Latex-Editoren laufen auf Ubuntu wie ein Zauber.
User603
8

Die meisten Algorithmen auf Apache Mahout skalieren weit über 20 Millionen Datensätze hinaus, selbst bei hochdimensionalen Daten. Wenn Sie nur ein Vorhersagemodell erstellen müssen, gibt es spezielle Tools wie Vowpal Wabbit (http://hunch.net/~vw/), die sich problemlos auf Milliarden von Datensätzen auf einem einzelnen Computer skalieren lassen.

Pedro Oliveira
quelle
Großartig ... das war mir nicht bewusst!
chl
7

Es gibt das RHIPE- Paket (R-Hadoop-Integration). Es ist sehr einfach (mit Ausnahmen), große Datenmengen in R zu analysieren.

Suncoolsu
quelle
Hast du erfolg damit Wenn ja, für welche Art von Anwendung?
Chl
Ja, RHIPE ist großartig. Einige meiner Freunde verwenden es, um Internet-Verkehrsdaten zu analysieren. Eines ihrer Ziele ist es, Einbruchsversuche zu modellieren. In solchen Fällen sind die Daten riesig, Petabytes sind weit verbreitet!
Suncoolsu
4

Es ist schwierig, eine gute Antwort zu geben, ohne zu wissen, welche Modelle Sie im Sinn haben.

Für die lineare Regression habe ich das biglm- Paket in R erfolgreich verwendet .

NPE
quelle
4

Da Sie Vorhersagemodelle aus großen Datenmengen erstellen, können Sie von Googles BigQuery (einer gehosteten Version der Technologie aus Googles Forschungsbericht zur Analyse großer Datenmengen mit Dremel) profitieren . Sie können die Abfrageergebnisse beispielsweise als CSV-Datei für die Aufnahme in einen Vorhersageklassifizierer exportieren.

BigQuery verfügt über eine Web-Benutzeroberfläche, mit der Sie Abfragen ausführen und Ergebnisse exportieren können. Die Beta-Version (v1) von BigQuery enthielt einen R-Client, und die Produktionsversion (v2) wird schließlich auch einen R-Client enthalten.

Michael Manoochehri
quelle
3

Wir haben 3,5 Millionen Beobachtungen und 44 Funktionen mit 64-Bit-R auf einer EC2-Instanz mit 32 GB RAM und 4 Kernen trainiert. Wir haben zufällige Wälder benutzt und es hat gut funktioniert. Beachten Sie, dass wir die Daten vor dem Training vorverarbeiten / manipulieren mussten.

Sabunime
quelle
3

SAS Enterprise Miner Version 6.2 kann problemlos 20 Millionen Beobachtungen und eine Vielzahl von Modellen verarbeiten, die an Ihre Situation angepasst werden können. Das Problem mit SAS sind normalerweise die Kosten. Im Folgenden finden Sie eine Zusammenfassung der Funktionen von SAS EM: SAS EM 6.2: Neue Funktionen

Wildes Oink
quelle
0

Können Sie sich ScaVis ( http://jwork.org/scavis ) ansehen ? Ich habe 20M nicht angesehen, aber Sie können versuchen, es zu überprüfen.

Jim12
quelle
0

RHIPE ist eine großartige Lösung, und ich würde diese wahrscheinlich wählen, wenn ich dieses Problem hätte! Aber haben Sie an NCSS gedacht? Soweit ich weiß, kann die neueste Version 10 diese Modelle erstellen. Die volle ver. ist sehr teuer, aber auf mehreren Remotedesktopdiensten kann man die App nur gegen eine geringe Gebühr ausführen, aber ich weiß nicht .. eher das überprüfen

Brandon
quelle