Το Datumbox Machine Learning Framework 0.6.0 κυκλοφόρησε το PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Κυκλοφόρησε το Datumbox Machine Learning Framework 0.6.0

Η νέα έκδοση του Datumbox Machine Learning Framework κυκλοφόρησε! Κατεβάστε το τώρα από Github or Κεντρικό αποθετήριο Maven.

Τι είναι νέο?

Η κύρια εστίαση του έκδοση 0.6.0 είναι να επεκτείνει το Framework για να χειριστεί τα μεγάλα δεδομένα, να βελτιώσει την αρχιτεκτονική κώδικα και τα δημόσια API, να απλοποιήσει την ανάλυση δεδομένων, να βελτιώσει την τεκμηρίωση και να μεταβεί σε μια ανεκτική άδεια.

Ας δούμε λεπτομερώς τις αλλαγές αυτής της έκδοσης:

  1. Χειριστείτε μεγάλα δεδομένα: Η βελτιωμένη διαχείριση μνήμης και οι νέοι κινητήρες αποθήκευσης επιμονής επέτρεψαν στο πλαίσιο να χειριστεί μεγάλα σύνολα δεδομένων μεγέθους αρκετών GB. Προσθήκη υποστήριξης του MapDB Η μηχανή βάσης δεδομένων επιτρέπει στο πλαίσιο να αποφύγει την αποθήκευση όλων των δεδομένων στη μνήμη και έτσι να μπορεί να χειρίζεται μεγάλα δεδομένα. Ο προεπιλεγμένος κινητήρας InMemory επανασχεδιάζεται για να είναι πιο αποτελεσματικός, ενώ ο κινητήρας MongoDB αφαιρέθηκε λόγω προβλημάτων απόδοσης.
  2. Βελτιωμένη και απλοποιημένη αρχιτεκτονική Framework: Το επίπεδο της αφαίρεσης μειώνεται σημαντικά και επανασχεδιάζονται αρκετά βασικά συστατικά. Συγκεκριμένα, οι μηχανισμοί αποθήκευσης επιμονής ξαναγράφονται και αφαιρούνται πολλά περιττά χαρακτηριστικά και δομές δεδομένων.
  3. Νέα δημόσια API "Scikit-Learn-like": Όλες οι δημόσιες μέθοδοι των αλγορίθμων αλλάζουν ώστε να μοιάζουν με τα API Scikit-Learn της Python (το πρότυπο προσαρμογής / πρόβλεψης / μετασχηματισμού). Οι νέες δημόσιες μέθοδοι είναι πιο ευέλικτες, ευκολότερες και πιο φιλικές στη χρήση.
  4. Απλοποιήστε την ανάλυση δεδομένων: Το νέο πλαίσιο έρχεται με ένα σύνολο μεθόδων ευκολίας που επιτρέπουν τη γρήγορη ανάλυση αρχείων CSV ή κειμένου και τη μετατροπή τους σε αντικείμενα συνόλων δεδομένων.
  5. Βελτιωμένη τεκμηρίωση: Όλες οι δημόσιες / προστατευόμενες τάξεις και μέθοδοι του Πλαισίου τεκμηριώνονται χρησιμοποιώντας σχόλια Javadoc. Επιπλέον, η νέα έκδοση παρέχει βελτιωμένες δοκιμές JUnit που είναι εξαιρετικά παραδείγματα για τον τρόπο χρήσης κάθε αλγορίθμου του πλαισίου.
  6. Νέα άδεια Apache: Η άδεια λογισμικού του πλαισίου άλλαξε από "GNU General Public License v3.0"Προς"Apache License, έκδοση 2.0«. Η νέα άδεια είναι ανεκτική και επιτρέπει την ανακατανομή στο εμπορικό λογισμικό.

Δεδομένου ότι ένα μεγάλο μέρος του πλαισίου ξαναγράφηκε για να γίνει πιο αποτελεσματικό και πιο εύκολο στη χρήση, η έκδοση 0.6.0 είναι δεν είναι συμβατό προς τα πίσω με παλαιότερες εκδόσεις του πλαισίου. Τέλος, το πλαίσιο μεταφέρθηκε από το Alpha στη φάση ανάπτυξης Beta και θα πρέπει να θεωρηθεί πιο σταθερό.

Πως να το χρησιμοποιήσεις

Σε μια προηγούμενη ανάρτηση ιστολογίου, έχουμε παράσχει αναλυτικός οδηγός εγκατάστασης σχετικά με τον τρόπο εγκατάστασης του Framework. Αυτός ο οδηγός εξακολουθεί να ισχύει για τη νέα έκδοση. Επιπλέον σε αυτήν τη νέα έκδοση μπορείτε να βρείτε πολλές Παραδείγματα κώδικα σχετικά με τον τρόπο χρήσης των μοντέλων και των αλγορίθμων του Framework.

Επόμενα βήματα & χάρτης πορείας

Η ανάπτυξη του πλαισίου θα συνεχιστεί και πρέπει να γίνουν οι ακόλουθες βελτιώσεις πριν από την κυκλοφορία της έκδοσης 1.0:

  1. UsING Πλαίσιο από την κονσόλα: Παρόλο που ο κύριος στόχος του πλαισίου είναι να βοηθήσει στην ανάπτυξη εφαρμογών Μηχανικής Μάθησης, θα πρέπει να γίνει ευκολότερο να χρησιμοποιηθεί από προγραμματιστές εκτός Java. Ακολουθώντας μια παρόμοια προσέγγιση με το Mahout, το πλαίσιο θα πρέπει να παρέχει πρόσβαση στους αλγόριθμους χρησιμοποιώντας εντολές κονσόλας. Η διεπαφή πρέπει να είναι απλή, εύχρηστη και οι διαφορετικοί αλγόριθμοι πρέπει να συνδυάζονται εύκολα.
  2. Υποστήριξη πολλαπλών σπειρωμάτων: Το πλαίσιο χρησιμοποιεί επί του παρόντος νήματα μόνο για διαδικασίες καθαρισμού και ασύγχρονη εγγραφή σε δίσκο. Ωστόσο, ορισμένοι από τους αλγόριθμους μπορούν να παραλληλιστούν και αυτό θα μειώσει σημαντικά τους χρόνους εκτέλεσης. Η λύση σε αυτές τις περιπτώσεις πρέπει να είναι κομψή και να τροποποιεί όσο το δυνατόν λιγότερο την εσωτερική λογική / μαθηματικά των αλγορίθμων μηχανικής μάθησης.
  3. Μειώστε τη χρήση των 2d συστοιχιών και πινάκων: Ένας μικρός αριθμός αλγορίθμων χρησιμοποιεί ακόμα 2δ πίνακες και πίνακες. Αυτό προκαλεί τη φόρτωση όλων των δεδομένων στη μνήμη που περιορίζει το μέγεθος του συνόλου δεδομένων που μπορεί να χρησιμοποιηθεί. Ορισμένοι αλγόριθμοι (όπως PCA) θα πρέπει να εφαρμοστούν εκ νέου για να αποφευχθεί η χρήση πινάκων ενώ για άλλους (όπως GaussianDPMM, MultinomialDPMM κ.λπ.) θα πρέπει να χρησιμοποιήσουμε αραιές μήτρες.

Άλλες σημαντικές εργασίες που πρέπει να γίνουν στις επερχόμενες εκδόσεις:

  1. Συμπεριλάβετε νέους αλγόριθμους μηχανικής εκμάθησης: Το πλαίσιο μπορεί να επεκταθεί για να υποστηρίξει διάφορους μεγάλους αλγορίθμους όπως Μίγμα Gaussians, Gaussian Processes, k-NN, Decision Trees, Factor Analysis, SVD, PLSI, Artificial Neural Networks κλπ.
  2. Βελτίωση τεκμηρίωσης, Δοκιμή κάλυψης Παραδείγματα & κώδικα: Δημιουργήστε μια καλύτερη τεκμηρίωση, βελτιώστε τις δοκιμές JUnit, βελτιώστε τα σχόλια κώδικα, παρέχετε καλύτερα παραδείγματα σχετικά με τον τρόπο χρήσης των αλγορίθμων κ.λπ.
  3. Βελτιώστε την αρχιτεκτονική & Βελτιστοποίηση κώδικα: Περαιτέρω απλοποίηση και βελτιώσεις στην αρχιτεκτονική του πλαισίου, εξορθολογισμός της αφαίρεσης, βελτίωση του σχεδιασμού, βελτιστοποίηση της ταχύτητας και της κατανάλωσης μνήμης κ.λπ.

Όπως μπορείτε να δείτε ότι είναι ένας μακρύς δρόμος και θα μπορούσα να χρησιμοποιήσω κάποια βοήθεια. Εάν είστε έτοιμοι για την πρόκληση Πάρε με τηλέφωνο ή στείλτε το αίτημα τραβήγματος στο github.

Ευχαριστίες

θα ήθελα να ευχαριστήσω Ελευθέριος Μπαμπαλατάκης για την ανεκτίμητη συμβολή του στη βελτίωση της αρχιτεκτονικής του Πλαισίου. Επίσης, θα ήθελα να ευχαριστήσω ej-technology GmbH που μου έδωσαν άδεια για το Java Profiler τους. Επιπλέον τα kudos μου στο Γιαν Κόττεκ για την καταπληκτική δουλειά του στη μηχανή αποθήκευσης MapDB. Τελευταίο αλλά εξίσου σημαντικό, η αγάπη μου προς τη φίλη μου Κυριάκη για τη στάση μου.

Μην ξεχάσετε να κατεβάσετε τον κωδικό του Datumbox v0.6.0 από Github. Η βιβλιοθήκη είναι επίσης διαθέσιμη Κεντρικό αποθετήριο Maven. Για περισσότερες πληροφορίες σχετικά με το πώς να χρησιμοποιήσετε τη βιβλιοθήκη στο ταμείο έργου Java, ακολουθήστε τα παρακάτω καθοδηγήσει ή διαβάστε τις οδηγίες στην κύρια σελίδα του Github repo.

Ανυπομονώ για τα σχόλια και τις συστάσεις σας. Τα αιτήματα τραβήγματος είναι πάντα ευπρόσδεκτα! 🙂

Σφραγίδα ώρας:

Περισσότερα από Databox