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

5 Διανομές Python για την εξάσκηση της μηχανικής μάθησης

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

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

Σχετικό βίντεο: Πώς ο Python διευκολύνει τον προγραμματισμό

Ιδανικό για IT, η Python απλοποιεί πολλά είδη εργασίας, από τον αυτοματισμό του συστήματος έως την εργασία σε πρωτοποριακούς τομείς όπως η μηχανική μάθηση.

Anaconda Python

Η Anaconda έχει αναδειχθεί ως μια σημαντική διανομή Python, όχι μόνο για την επιστήμη δεδομένων και τη μηχανική μάθηση, αλλά και για την ανάπτυξη Python γενικού σκοπού. Το Anaconda υποστηρίζεται από έναν εμπορικό πάροχο με το ίδιο όνομα (πρώην Continuum Analytics) που προσφέρει σχέδια υποστήριξης για επιχειρήσεις.

Η διανομή Anaconda παρέχει, πρώτα απ 'όλα, μια διανομή Python εξοπλισμένη με εύκολη πρόσβαση στα πακέτα που χρησιμοποιούνται συχνά στην επιστήμη δεδομένων: NumPy, Pandas, Matplotlib και ούτω καθεξής. Δεν συνδυάζονται απλώς με το Anaconda, αλλά διατίθενται μέσω ενός προσαρμοσμένου συστήματος διαχείρισης πακέτων που ονομάζεται Conda. Τα πακέτα που έχουν εγκατασταθεί από το Conda μπορούν να περιλαμβάνουν δύσκολες εξωτερικές δυαδικές εξαρτήσεις που δεν μπορούν να διαχειριστούν μέσω του Pip της Python. (Σημειώστε ότι μπορείτε ακόμα να χρησιμοποιήσετε το Pip εάν θέλετε, αλλά δεν θα λάβετε τα οφέλη που παρέχει η Conda για αυτά τα πακέτα.) Κάθε πακέτο διατηρείται ενημερωμένο από την Anaconda και πολλά από αυτά συντάσσονται με το Intel MKL επεκτάσεις για ταχύτητα.

Το άλλο σημαντικό πλεονέκτημα που παρέχει το Anaconda είναι ένα γραφικό περιβάλλον, το Anaconda Navigator. Το Navigator δεν είναι IDE, αλλά μάλλον μια βολική διεπαφή GUI για λειτουργίες Anaconda, όπως ο διαχειριστής πακέτων Conda και εικονικά περιβάλλοντα διαμορφωμένα από τον χρήστη. Μπορείτε επίσης να χρησιμοποιήσετε το Navigator για να διαχειριστείτε εφαρμογές τρίτων, όπως σημειωματάρια Jupyter και το Visual Studio Code IDE.

Μια ελάχιστη εγκατάσταση του Anaconda, που ονομάζεται Miniconda, εγκαθιστά αρκετό μόνο από τη βάση Anaconda για να ξεκινήσετε, αλλά μπορεί να επεκταθεί με άλλα πακέτα εγκατεστημένα σε Conda ή Pip, όπως τα χρειάζεστε. Αυτό είναι χρήσιμο εάν θέλετε να επωφεληθείτε από την πλούσια γκάμα βιβλιοθηκών της Anaconda, αλλά πρέπει να διατηρήσετε τα πράγματα αδύνατα.

ActivePython

Η επιστήμη δεδομένων είναι μόνο μία από τις περιπτώσεις χρήσης του ActivePython, το οποίο σχεδιάστηκε για να χρησιμεύσει ως επαγγελματικά υποστηριζόμενη έκδοση της γλώσσας με συνεχείς εφαρμογές σε αρχιτεκτονικές και πλατφόρμες. Αυτό βοηθά αν χρησιμοποιείτε Python για την επιστήμη δεδομένων σε πλατφόρμες όπως AIX, HP-UX και Solaris, καθώς και Windows, Linux και MacOS.

Το ActivePython προσπαθεί να κολλήσει όσο το δυνατόν πιο κοντά στην αρχική ενσάρκωση αναφοράς της Python. Αντί ενός ειδικού προγράμματος εγκατάστασης για σύνθετα πακέτα μαθηματικών και στατιστικών (η προσέγγιση Anaconda), το ActivePython προ-μεταγλωττίζει πολλά από αυτά τα πακέτα, χρησιμοποιώντας τις επεκτάσεις Intel MKL όπου χρειάζεται και τα παρέχει ως πακέτα με την προεπιλεγμένη εγκατάσταση του ActivePython. Δεν χρειάζεται να εγκατασταθούν επίσημα. είναι άμεσα διαθέσιμα.

Ωστόσο, εάν θέλετε να κάνετε αναβάθμιση σε νεότερη έκδοση αυτών των προκατασκευασμένων πακέτων, θα πρέπει να περιμένετε έως ότου βγει η επόμενη έκδοση του ActivePython. Αυτό καθιστά το ActivePython πιο συνεπές στο σύνολό του - ένα πολύτιμο πράγμα που έχει όταν έχει σημασία η αναπαραγωγιμότητα των αποτελεσμάτων - αλλά και λιγότερο ευέλικτη.

CPython

Εάν θέλετε να ξεκινήσετε την εργασία μηχανικής εκμάθησης από το μηδέν, χρησιμοποιώντας μόνο την επίσημη, απλή έκδοση της Python, επιλέξτε CPython. Ονομάστηκε έτσι επειδή είναι η έκδοση αναφοράς του χρόνου εκτέλεσης Python γραμμένο σε C, το CPython διατίθεται από τον ιστότοπο του Python Software Foundation και παρέχει μόνο τα απαραίτητα εργαλεία για την εκτέλεση σεναρίων Python και τη διαχείριση πακέτων.

Το CPython έχει νόημα αν θέλετε να δημιουργήσετε ένα περιβάλλον Python για ένα μηχανοκίνητο μάθημα ή ένα έργο επιστήμης δεδομένων, εμπιστεύεστε τον εαυτό σας να το κάνει σωστά και δεν θέλετε να παρεμποδίζονται τυχόν αλλαγές τρίτων. Η πηγή για το CPython είναι άμεσα διαθέσιμη, οπότε μπορείτε ακόμη και να προσαρμόσετε τυχόν αλλαγές που μπορεί να θέλετε να κάνετε για λόγους ταχύτητας ή ανάγκες του έργου.

Από την άλλη πλευρά, η χρήση του CPython σημαίνει ότι θα πρέπει να αντιμετωπίσετε τα πλεονεκτήματα της εγκατάστασης και της διαμόρφωσης πακέτων όπως το NumPy, με όλες τις εξαρτήσεις τους - μερικές από τις οποίες πρέπει να κυνηγηθούν και να προστεθούν χειροκίνητα.

Ορισμένες από αυτές τις εργασίες έχουν γίνει λιγότερο επαχθείς τα τελευταία χρόνια, ειδικά τώρα που ο διαχειριστής πακέτων Pip της Python εγκαθιστά κομψά προκατασκευασμένα δυαδικά είδη που χρησιμοποιούνται σε πολλά πακέτα επιστήμης δεδομένων. Ωστόσο, εξακολουθούν να υπάρχουν πολλές περιπτώσεις, ειδικά στα Microsoft Windows, όπου θα πρέπει να ταιριάξετε όλα τα κομμάτια μαζί με το χέρι - για παράδειγμα, εγκαθιστώντας χειροκίνητα έναν μεταγλωττιστή C / C ++.

Ένα άλλο μειονέκτημα στη χρήση του CPython είναι ότι δεν χρησιμοποιεί καμία από τις επιλογές επιτάχυνσης της απόδοσης που είναι χρήσιμες στη μηχανική μάθηση και στην επιστήμη δεδομένων, όπως οι επεκτάσεις της Intel Math Kernel Library (MKL). Θα πρέπει να δημιουργήσετε τις βιβλιοθήκες NumPy και SciPy για να χρησιμοποιήσετε το Intel MKL μόνοι σας.

Ένθετος θόλος

Η διανομή Enthought Canopy της Python μοιάζει με την Anaconda με πολλούς τρόπους. Είναι κατασκευασμένο με την επιστήμη δεδομένων και τη μηχανική εκμάθηση ως πρωταρχικές περιπτώσεις χρήσης, έρχεται με το δικό του επιμελημένο ευρετήριο πακέτων, και παρέχει γραφικά εμπρόσθια άκρα και εργαλεία γραμμής εντολών για τη διαχείριση ολόκληρης της εγκατάστασης. Οι εταιρικοί χρήστες μπορούν επίσης να αγοράσουν τον Enthought Deployment Server, ένα σύστημα διαχείρισης πακέτων πίσω από το τείχος προστασίας. Τα πακέτα μηχανικής εκμάθησης που έχουν δημιουργηθεί για Canopy χρησιμοποιούν τις επεκτάσεις Intel MKL.

Η κύρια διαφορά μεταξύ Anaconda και Canopy είναι το πεδίο εφαρμογής. Το Canopy είναι πιο μέτριο, το Anaconda πιο ολοκληρωμένο. Για παράδειγμα, ενώ το Canopy περιλαμβάνει εργαλεία γραμμής εντολών για τη δημιουργία και διαχείριση εικονικών περιβαλλόντων Python (χρήσιμο όταν ασχολείστε με διαφορετικά σύνολα πακέτων για διαφορετικές ροές εργασιών μηχανικής μάθησης), το Anaconda παρέχει ένα GUI για αυτήν την εργασία. Από την άλλη πλευρά, το Canopy περιλαμβάνει επίσης ένα εύχρηστο ενσωματωμένο IDE - ένα συνδυασμό προγράμματος περιήγησης αρχείων, ένα σημειωματάριο Jupyter και έναν επεξεργαστή κώδικα - που είναι χρήσιμο για να μεταβείτε δεξιά και να ξεκινήσετε να εργάζεστε χωρίς φασαρία.

WinPython

Η αρχική αποστολή πίσω από το WinPython ήταν να παράσχει μια έκδοση του Python που δημιουργήθηκε ειδικά για Microsoft Windows. Πίσω όταν το CPython build για Windows δεν ήταν ιδιαίτερα ανθεκτικό, το WinPython γέμισε μια χρήσιμη θέση. Σήμερα, η έκδοση του CPython για τα Windows είναι αρκετά καλή και το WinPython έχει στραφεί προς την κάλυψη ρωγμών που δεν έχουν ανοίξει ακόμη περισσότερο από το CPython - ειδικά για εφαρμογές επιστήμης δεδομένων και μηχανικής μάθησης.

Από προεπιλογή, το WinPython είναι φορητό. Ολόκληρη η διανομή WinPython χωρά σε έναν μόνο κατάλογο που μπορεί να τοποθετηθεί οπουδήποτε και να εκτελεστεί οπουδήποτε. Μια εγκατάσταση WinPython μπορεί να παραδοθεί ως αρχείο ή σε μονάδα USB, προεγκατεστημένη με όλες τις μεταβλητές περιβάλλοντος, πακέτα και σενάρια που απαιτούνται για μια δεδομένη εργασία. Είναι ένας χρήσιμος τρόπος για να συσκευάσετε όλα όσα χρειάζεστε για να εκπαιδεύσετε ένα συγκεκριμένο μοντέλο ή να αναπαραγάγετε ένα συγκεκριμένο πείραμα δεδομένων. Εναλλακτικά, μπορείτε να καταχωρίσετε μια εγκατάσταση WinPython στα Windows και να την εκτελέσετε σαν να είχε εγκατασταθεί εγγενώς (και να την καταργήσετε αργότερα, εάν το επιθυμείτε).

Καλύπτονται επίσης πολλά από τα πιο περίπλοκα στοιχεία μιας κεντρικής διανομής Python. Οι περισσότερες από τις βασικές βιβλιοθήκες - NumPy, Pandas, Jupyter και διασυνδέσεις με τις γλώσσες R και Julia - περιλαμβάνονται από προεπιλογή και έχουν δημιουργηθεί ενάντια στις επεκτάσεις Intel MKL όπου απαιτείται. Ο μεταγλωττιστής Mingw64 C / C ++ έρχεται επίσης συσκευασμένος με NumPy στο WinPython, έτσι ώστε οι δυαδικές επεκτάσεις Python να μπορούν να κατασκευαστούν από την πηγή (για παράδειγμα, μέσω του Cython) χωρίς να χρειάζεται να εγκαταστήσετε έναν μεταγλωττιστή.

Το WinPython έχει το δικό του πρόγραμμα εγκατάστασης πακέτων, το WPPM, το οποίο χειρίζεται πακέτα που συνοδεύονται από προκαθορισμένα δυαδικά αρχεία καθώς και πακέτα καθαρού Python. Και για όσους θέλουν απλώς μια έκδοση χωρίς κόκαλα του WinPython χωρίς πακέτα που περιλαμβάνονται από προεπιλογή, το WinPython προσφέρει μια «μηδενική έκδοση», σύμφωνα με τις ίδιες γραμμές με το Miniconda της Anaconda.

Σχετικό βίντεο: Μηχανική εκμάθηση και αποκρυπτογράφηση AI

Σπάζοντας τη διαφημιστική εκστρατεία γύρω από τη μηχανική μάθηση και την τεχνητή νοημοσύνη, το πάνελ μας μιλά για τους ορισμούς και τις επιπτώσεις της τεχνολογίας.