2016-06-14 4 views
0

Ich möchte WEKA verwenden, um Daten aus MongoDB zu trainieren und vorherzusagen. Insbesondere beabsichtige ich, Weka API zu verwenden, um Daten zu analysieren (z. B. eine Empfehlungsmaschine zu erstellen). Aber ich habe keine Ahnung, wie es weitergeht, weil die Daten in MongoDB im BSON-Format gespeichert sind, während WEKA das ARFF-Format verwendet. Ich möchte die WEKA-API verwenden, um Daten von MongoDB zu lesen, zu analysieren und Empfehlungen für den Benutzer in Echtzeit zu geben. Ich kann keine Brücke zwischen WEKA und MongoDB finden.Wie kann Weka API mit MongoDB arbeiten?

Ist das überhaupt möglich oder sollte ich einen anderen Ansatz versuchen?

+0

Dieser Link zeigt ein gutes Beispiel für die programmatische Definition Ihrer eigenen .arff-Datei. https://weka.wikispaces.com/Programmatic+Verwenden Sie – Walter

+0

Haben Sie in Betracht gezogen, einen mongodb jdbc- oder odbc-Treiber zu verwenden, um auf MongoDB-Daten von weka zuzugreifen? – user6641561

Antwort

0

Bevor ich anfange, sollte ich sagen, dass WEKA nicht das beste Werkzeug für die Arbeit mit Big Data ist. Wenn Sie wirklich Big Data haben, werden Sie wahrscheinlich die Spark und die Hadoop-Familie verwenden wollen, da diese besser für die Analyse geeignet sind.

Um Ihre Frage wie geschrieben zu beantworten, würde ich Ihnen raten, das Training manuell zu machen (d. H. Eine Trainingsdatei mit allen verfügbaren Programmierwerkzeugen zu erstellen) und ein Modell vortrainieren. Diese Modelle können dann gespeichert und entsprechend in ein Programm integriert werden.

Zum Testen können Sie die official instructions folgen, aber ich nehme normalerweise ein bisschen eine Abkürzung: Ich normalerweise meine Daten in ein CSV-ähnliches Format (als ob es in eine ARFF-Datei ging) und nur eine gültige vor ARFF-Header (der gleiche wie Ihre Trainingsdatei). Von dort aus ist es sehr einfach, die Instanzen zu testen. Meiner Erfahrung nach vereinfacht dies den Prozess des Schreibens von Code, der tatsächlich neue Vorhersagen macht, erheblich.

+0

Vielen Dank für Ihre Hilfe! Ich dachte darüber nach, Weka wie deine Idee zu benutzen. Aber ich werde versuchen, Spark zu studieren! Wenn es die bessere Wahl ist, werde ich es in mein Projekt aufnehmen! Vielen Dank! :) – Duong