Προγραμματισμός

Apache PredictionIO: Ευκολότερη μηχανική εκμάθηση με το Spark

Το Ίδρυμα Apache έχει προσθέσει ένα νέο πρόγραμμα μηχανικής μάθησης στον κατάλογό του, το Apache PredictionIO, μια ανοιχτή έκδοση ενός έργου που αρχικά επινοήθηκε από μια θυγατρική του Salesforce.

Τι κάνει το PredictionIO για μηχανική εκμάθηση και Spark

Το Apache PredictionIO είναι χτισμένο πάνω στο Spark και το Hadoop και εξυπηρετεί προβλέψεις που βασίζονται σε Spark από δεδομένα χρησιμοποιώντας προσαρμόσιμα πρότυπα για κοινές εργασίες. Οι εφαρμογές στέλνουν δεδομένα στον διακομιστή συμβάντων του PredictionIO για να εκπαιδεύσουν ένα μοντέλο και, στη συνέχεια, υποβάλλουν ερώτηση στον κινητήρα για προβλέψεις βάσει του μοντέλου.

Οι Spark, MLlib, HBase, Spray και Elasticsearch συνοδεύονται από PredictionIO και η Apache προσφέρει υποστηριζόμενα SDK για εργασία σε Java, PHP, Python και Ruby. Τα δεδομένα μπορούν να αποθηκευτούν σε μια ποικιλία από back-end: JDBC, Elasticsearch, HBase, HDFS και τα τοπικά συστήματα αρχείων τους υποστηρίζονται όλα έξω από το κουτί. Τα πίσω άκρα μπορούν να συνδεθούν με δυνατότητα σύνδεσης, οπότε ένας προγραμματιστής μπορεί να δημιουργήσει έναν προσαρμοσμένο σύνδεσμο υποστήριξης.

Πώς τα πρότυπα PredictionIO διευκολύνουν την προβολή προβλέψεων από το Spark

Το πιο αξιοσημείωτο πλεονέκτημα του PredictionIO είναι το σύστημα προτύπων για τη δημιουργία μηχανών μηχανικής εκμάθησης. Τα πρότυπα μειώνουν τη βαριά ανύψωση που απαιτείται για τη ρύθμιση του συστήματος για την εξυπηρέτηση συγκεκριμένων ειδών προβλέψεων. Περιγράφουν τυχόν εξαρτήσεις τρίτων που ενδέχεται να χρειαστούν για την εργασία, όπως το πλαίσιο εφαρμογών μηχανικής μάθησης Apache Mahout.

Ορισμένα υπάρχοντα πρότυπα περιλαμβάνουν:

  • Μια γενική μηχανή προτάσεων.
  • Ταξινόμηση κειμένου.
  • Ανάλυση επιβίωσης (για προβλέψεις χρόνου-μεταξύ-αποτυχίας).
  • Επισήμανση θεμάτων χρησιμοποιώντας τη Wikipedia ως βάση γνώσης.
  • Ανάλυση ομοιότητας.

Ορισμένα πρότυπα ενσωματώνονται επίσης με άλλα προϊόντα μηχανικής μάθησης. Για παράδειγμα, δύο από τα πρότυπα πρόβλεψης που βρίσκονται αυτήν τη στιγμή στη γκαλερί του PredictionIO, για ανίχνευση ρυθμού churn και γενικές συστάσεις, χρησιμοποιούν τις βελτιώσεις Sparkling Water του H2O.ai για το Spark.

Το PredictionIO μπορεί επίσης να αξιολογήσει αυτόματα μια μηχανή πρόβλεψης για να καθορίσει τις καλύτερες υπερπαραμέτρους που θα χρησιμοποιήσουν μαζί της. Ο προγραμματιστής πρέπει να επιλέξει και να ορίσει μετρήσεις για το πώς να το κάνει αυτό, αλλά γενικά υπάρχει λιγότερη δουλειά για να γίνει αυτό από ό, τι στη ρύθμιση των υπερπαραμέτρων με το χέρι.

Όταν εκτελείται ως υπηρεσία, το PredictionIO μπορεί να αποδεχτεί προβλέψεις μεμονωμένα ή ως παρτίδα. Οι παρτίδες προβλέψεων παραλληλίζονται αυτόματα σε ένα σύμπλεγμα Spark, εφ 'όσον οι αλγόριθμοι που χρησιμοποιούνται σε μια εργασία πρόβλεψης παρτίδας είναι όλοι σειριοποιήσιμοι. (Οι προεπιλεγμένοι αλγόριθμοι του PredictionIO είναι.)

Πού να κατεβάσετε το PredictionIO

Ο πηγαίος κώδικας του PredictionIO είναι διαθέσιμος στο GitHub. Για ευκολία, διατίθενται διάφορες εικόνες Docker, καθώς και ένα πακέτο build Heroku.