Jupyter Notebook
Τι είναι το Jupyter Notebook;
Το Jupyter Notebook είναι ένα open-source web application που επιτρέπει στους χρήστες να δημιουργούν και να μοιράζονται έγγραφα τα οποία περιέχουν ζωντανό κώδικα, εξισώσεις, οπτικοποιήσεις (visualizations) και κείμενο. Λειτουργεί ως ένα διαδραστικό υπολογιστικό περιβάλλον όπου οι data professionals μπορούν να γράψουν κώδικα, να τον εκτελέσουν σε μεμονωμένα τμήματα (που ονομάζονται cells) και να δουν αμέσως τα αποτελέσματα (outputs) να εμφανίζονται ακριβώς κάτω από τον κώδικα.
Πώς διαφέρει από έναν τυπικό code editor;
Ένας τυπικός code editor ή ένα Integrated Development Environment (IDE) απαιτεί συνήθως τη συγγραφή ενός ολοκληρωμένου script και την εκτέλεση ολόκληρου του αρχείου ταυτόχρονα για την προβολή του output σε ένα ξεχωριστό terminal ή console. Το Jupyter Notebook λειτουργεί με βάση τα cells (cell-by-cell). Αυτό σημαίνει ότι μπορείτε να εκτελέσετε μικρά blocks κώδικα ανεξάρτητα, να επιθεωρήσετε variables στη μνήμη και να δημιουργήσετε visual charts απευθείας μέσα στο έγγραφο, καθιστώντας το ιδιαίτερα αποδοτικό για iterative testing και βήμα προς βήμα data analysis.
Ποιες γλώσσες προγραμματισμού υποστηρίζει;
Το όνομα "Jupyter" προέρχεται από τις τρεις βασικές υποστηριζόμενες γλώσσες προγραμματισμού: Julia, Python και R. Ωστόσο, η υποκείμενη αρχιτεκτονική είναι language-agnostic και υποστηρίζει πάνω από 40 διαφορετικές γλώσσες προγραμματισμού μέσω αρθρωτών μηχανών εκτέλεσης γνωστών ως "kernels". Η Python παραμένει η πιο ευρέως χρησιμοποιούμενη γλώσσα σε αυτό το περιβάλλον, συχνά σε συνδυασμό με data science libraries όπως τα pandas, NumPy και scikit-learn.
Ποιος χρησιμοποιεί το Jupyter Notebook και για ποιο σκοπό;
Χρησιμοποιείται κυρίως από data scientists, machine learning engineers, ακαδημαϊκούς ερευνητές και analysts. Τα πιο κοινά use cases περιλαμβάνουν το data cleaning και transformation, το statistical modeling, το data visualization, το exploratory data analysis (EDA) και την εκπαίδευση machine learning models. Αποτελεί επίσης βιομηχανικό πρότυπο για εκπαιδευτικά tutorials και για την παραγωγή αναπαραγώγιμων ερευνητικών αναφορών (reproducible research reports).
Πώς γίνεται το sharing ενός Jupyter Notebook;
Τα notebooks αποθηκεύονται τοπικά ως δομημένα JSON αρχεία με κατάληξη .ipynb. Αυτά τα αρχεία μπορούν να διαμοιραστούν απευθείας μέσω μεταφοράς αρχείων, version control systems όπως το Git, ή πλατφόρμες φιλοξενίας κώδικα όπως το GitHub, το οποίο τα κάνει αυτόματα render ως αναγνώσιμες web pages. Επιπλέον, τα notebooks μπορούν να εξαχθούν σε διάφορες στατικές μορφές, όπως HTML, PDF, Markdown ή τυπικά εκτελέσιμα Python scripts (.py).
Παράδειγμα Χρήσης στο Data Science: Πώς χρησιμοποιείται το Jupyter Notebook στο exploratory data analysis (EDA);
Ένας data scientist που έχει αναλάβει την ανάλυση ενός νέου customer dataset θα χρησιμοποιήσει ένα Jupyter Notebook για να εξερευνήσει συστηματικά τις πληροφορίες.
Στο πρώτο cell, γράφει κώδικα για να κάνει import το pandas library και να φορτώσει το dataset στη μνήμη. Στο επόμενο cell, εκτελεί μια εντολή για να εμφανίσει τα δέκα πρώτα rows, βλέποντας αμέσως τα tabular data ακριβώς κάτω από το cell. Στα επόμενα cells, παράγει summary statistics για να ελέγξει για missing values και χρησιμοποιεί το matplotlib library για να δημιουργήσει ένα scatter plot που συνδέει την ηλικία των πελατών με το spending score. Επειδή ο raw κώδικας, τα statistical outputs, τα visual charts και οι σημειώσεις markdown του data scientist περιέχονται όλα σε ένα ενιαίο, διαδοχικό έγγραφο, δημιουργείται μια ολοκληρωμένη αφήγηση (narrative) της ανάλυσης, η οποία μπορεί εύκολα να ελεγχθεί ή να διαμοιραστεί με την ευρύτερη ομάδα.