Datumbox Machine Learning Framework 0.6.0 veröffentlicht PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Datumbox Machine Learning Framework 0.6.0 veröffentlicht

Die neue Version von Datumbox Machine Learning Framework wurde veröffentlicht! Laden Sie es jetzt von herunter Github or Maven-Zentrale Repository.

Was ist neu?

Der Schwerpunkt der Version 0.6.0 Das Framework soll erweitert werden, um große Datenmengen zu verarbeiten, die Codearchitektur und die öffentlichen APIs zu verbessern, das Parsen von Daten zu vereinfachen, die Dokumentation zu verbessern und auf eine zulässige Lizenz umzusteigen.

Lassen Sie uns die Änderungen dieser Version im Detail sehen:

  1. Behandeln Sie große Datenmengen: Die verbesserte Speicherverwaltung und die neuen Persistenzspeicher-Engines ermöglichten es dem Framework, große Datenmengen mit einer Größe von mehreren GB zu verarbeiten. Unterstützung der MapDB Das Datenbankmodul ermöglicht es dem Framework, das Speichern aller Daten im Speicher zu vermeiden und somit große Datenmengen zu verarbeiten. Die Standard-InMemory-Engine wurde neu gestaltet, um effizienter zu sein, während die MongoDB-Engine aufgrund von Leistungsproblemen entfernt wurde.
  2. Verbesserte und vereinfachte Framework-Architektur: Der Abstraktionsgrad wird erheblich reduziert und mehrere Kernkomponenten neu gestaltet. Insbesondere werden die Persistenzspeichermechanismen neu geschrieben und einige unnötige Merkmale und Datenstrukturen entfernt.
  3. Neue "Scikit-Learn-like" öffentliche APIs: Alle öffentlichen Methoden der Algorithmen wurden geändert, um den Scikit-Learn-APIs von Python (dem Paradigma der Anpassung / Vorhersage / Transformation) zu ähneln. Die neuen öffentlichen Methoden sind flexibler, einfacher und benutzerfreundlicher.
  4. Vereinfachen Sie das Parsen von Daten: Das neue Framework verfügt über eine Reihe von praktischen Methoden, mit denen CSV- oder Textdateien schnell analysiert und in Dataset-Objekte konvertiert werden können.
  5. Verbesserte Dokumentation: Alle öffentlichen / geschützten Klassen und Methoden des Frameworks werden mithilfe von Javadoc-Kommentaren dokumentiert. Darüber hinaus bietet die neue Version verbesserte JUnit-Tests, die hervorragende Beispiele für die Verwendung aller Algorithmen des Frameworks sind.
  6. Neue Apache-Lizenz: Die Softwarelizenz des Frameworks wurde geändert von “GNU General Public License v3.0"To"Apache License, Version 2.0“. Die neue Lizenz ist zulässig und ermöglicht die Weiterverteilung innerhalb kommerzieller Software.

Da ein großer Teil des Frameworks neu geschrieben wurde, um es effizienter und benutzerfreundlicher zu machen, ist die Version 0.6.0 nicht abwärtskompatibel mit früheren Versionen des Frameworks. Schließlich wechselte das Framework von Alpha in die Beta-Entwicklungsphase und sollte als stabiler angesehen werden.

Wie man es verwendet

In einem früheren Blog-Beitrag haben wir eine detaillierte Installationsanleitung Informationen zur Installation des Frameworks. Diese Anleitung gilt weiterhin für die neue Version. Zusätzlich finden Sie in dieser neuen Version mehrere Code Beispiele zur Verwendung der Modelle und Algorithmen des Frameworks.

Nächste Schritte & Roadmap

Die Entwicklung des Frameworks wird fortgesetzt und die folgenden Verbesserungen sollten vor der Veröffentlichung von Version 1.0 vorgenommen werden:

  1. UsIng. Framework von der Konsole: Obwohl das Hauptziel des Frameworks darin besteht, die Entwicklung von Anwendungen für maschinelles Lernen zu unterstützen, sollte die Verwendung durch Nicht-Java-Entwickler vereinfacht werden. Nach einem ähnlichen Ansatz wie Mahout sollte das Framework mithilfe von Konsolenbefehlen Zugriff auf die Algorithmen bieten. Die Schnittstelle sollte einfach und benutzerfreundlich sein und die verschiedenen Algorithmen sollten leicht zu kombinieren sein.
  2. Multithreading unterstützen: Das Framework verwendet derzeit Threads nur für Bereinigungsprozesse und asynchrones Schreiben auf die Festplatte. Trotzdem können einige der Algorithmen parallelisiert werden, was die Ausführungszeiten erheblich verkürzt. Die Lösung sollte in diesen Fällen elegant sein und die interne Logik / Mathematik der Algorithmen für maschinelles Lernen so wenig wie möglich ändern.
  3. Reduzieren Sie die Verwendung von 2D-Arrays und -Matrizen: Eine kleine Anzahl von Algorithmen verwendet immer noch 2D-Arrays und Matrizen. Dadurch werden alle Daten in den Speicher geladen, wodurch die Größe des Datasets begrenzt wird, das verwendet werden kann. Einige Algorithmen (wie PCA) sollten neu implementiert werden, um die Verwendung von Matrizen zu vermeiden, während für andere (wie GaussianDPMM, MultinomialDPMM usw.) spärliche Matrizen verwendet werden sollten.

Weitere wichtige Aufgaben, die in den kommenden Versionen erledigt werden sollten:

  1. Neue Algorithmen für maschinelles Lernen einschließen: Das Framework kann erweitert werden, um mehrere großartige Algorithmen wie die Mischung von Gaußschen, Gaußschen Prozessen, k-NN, Entscheidungsbäumen, Faktoranalyse, SVD, PLSI, künstlichen neuronalen Netzen usw. zu unterstützen.
  2. Dokumentation verbessern, Testabdeckung & Codebeispiele: Erstellen Sie eine bessere Dokumentation, verbessern Sie JUnit-Tests, verbessern Sie Codekommentare, geben Sie bessere Beispiele für die Verwendung der Algorithmen usw.
  3. Architektur verbessern & Code optimieren: Weitere Vereinfachung und Verbesserung der Architektur des Frameworks, Rationalisierung der Abstraktion, Verbesserung des Designs, Optimierung der Geschwindigkeit und des Speicherverbrauchs usw.

Wie Sie sehen, ist es ein langer Weg und ich könnte Hilfe gebrauchen. Wenn Sie für die Herausforderung bereit sind Drop me a line oder senden Sie Ihre Pull-Anfrage auf Github.

Danksagung

Ich würde gerne ... danken Eleftherios Bampaletakis für seinen unschätzbaren Beitrag zur Verbesserung der Architektur des Frameworks. Auch ich möchte mich bei bedanken ej-technologies GmbH für die Bereitstellung einer Lizenz für ihren Java Profiler. Außerdem mein Lob an Jan Kotek für seine erstaunliche Arbeit in MapDB Storage Engine. Zu guter Letzt meine Liebe zu meiner Freundin Kyriaki, die sich mit mir abgefunden hat.

Vergessen Sie nicht, den Code von Datumbox v0.6.0 von herunterzuladen Github. Die Bibliothek ist auch am verfügbar Maven-Zentrale Repository. Weitere Informationen zur Verwendung der Bibliothek in Ihrem Java-Projekt finden Sie im Folgenden Guide oder lesen Sie die Anweisungen auf der Hauptseite unseres Github-Repos.

Ich freue mich auf Ihre Kommentare und Empfehlungen. Pull-Anfragen sind immer willkommen! 🙂

Zeitstempel:

Mehr von Bezugsbox