Gibt es einen Grund, funktionale Programmierung für Data Mining-Projekte zu bevorzugen? [geschlossen]

8

Ich untersuche die Möglichkeit, ein Data-Mining-Projekt zu starten, das intensive Berechnungen und Datentransformationen beinhaltet und relativ einfach zu skalieren ist.

Nach Ihrer Erfahrung ist die Wahl der Programmiersprache für das Projekt entscheidend?

Wenn ich zum Beispiel bereits an einer JVM-Umgebung arbeite, sollte ich lieber Clojure als Java verwenden? Garantiert die funktionale Umgebung eine einfachere Skalierbarkeit? Bessere Leistung?

Berücksichtigen Sie andere Faktoren wie die Vertrautheit mit der Sprache, der Toolchain usw. Ist Ihrer Meinung nach die Wahl der Sprache kritisch?

    
Yuval Adam 08.11.2010, 21:13
quelle

4 Antworten

16

Es gibt einige gute Gründe, die funktionale Programmierung für Data Mining-Projekte zu wählen.

  1. Normalerweise Data Mining-Projekte beinhalten Algorithmik und Mathematik (als andere Arten von Systemen) welche kann leichter in ausgedrückt werden funktionale Programmierung
  2. Daten Bergbauprojekte würden beinhalten Aggregatfunktionen - die in funktionell besser sind Programmierung, sagen Clojure
  3. Daten Bergbauprogramme wären auch mehr geeignet für Parallelität - definitiv Datenparallelität und könnte sogar sein Aufgabenparallelität, wieder eine Stärke von funktionale Programmierung
  4. Und funktionale Sprachen wie Clojure kann trotzdem mit Java für I / O, Datei lesen und schreiben
  5. ich denke, man kann die Werkzeugkette lernen leicht; es ist nicht so anders und das sollte kein Faktor sein.

Ich stellte die gleiche Frage selbst und kam mit einem großen Ja für Clojure - ich denke immer noch darüber nach, wie ich R in den Mix aufnehmen kann.

    
Krishna Sankar 09.11.2010, 02:27
quelle
3

Verwenden Sie die leistungsstärkste Sprache, mit der Sie vertraut sind.

In jedem Fall, wenn Sie Skalierbarkeit erhalten möchten, benötigen Sie eine Map-Reduce-Implementierung, mit der Sie die Ergebnisse parallelisieren und sammeln können.

    
quelle
2

Kein besonderer Grund. Wählen Sie die Sprache aus, mit der Sie sich am wohlsten fühlen.

Siehe meine Antwort auf eine ähnliche Frage zur Verarbeitung natürlicher Sprache . Ich denke, dass einige der Features, die Leute denken, dass obskure Sprachen für KI geeignet sind, wirklich kontraproduktiv sind.

    
Ken Bloom 08.11.2010 21:20
quelle
0

Oft sind funktionale Programmierlösungen besser skalierbar.

    
keuleJ 08.11.2010 21:25
quelle