Python for Big Data Analytics and Machine Learning 101

Το σεμινάριο διάρκειας 16 ωρών, είναι μία επισκόπηση των βασικών μεθόδων και πρακτικών επεξεργασίας δεδομένων και μηχανικής μάθησης σε Python. Ο κώδικας που θα διδαχθεί τρέχει χωρίς διαφοροποίηση στο laptop και σε big data clusters. Οι συμμετέχοντες θα μάθουν ειδικότερα πώς να επεξεργάζονται δεδομένα χρησιμοποιώντας τις βιβλιοθήκες numpy και pandas, πώς να χρησιμοποιούν την PySpark για μεγάλα big-data clusters, πώς να δημιουργούν και να επικοινωνούν αντιπροσωπευτικές γραφικές απεικονίσεις με τις βιβλιοθήκες matplotlib και seaborn και πώς να εκπαιδεύουν μοντέλα μηχανικής μάθησης με το scikit-learn.

Επισκόπηση

Ο προγραμματισμός των σύγχρονων συστημάτων μηχανικής μάθησης και cluster computing γίνεται συνήθως με Python. Ακόμη και όταν η Python δεν είναι η κύρια γλώσσα προγραμματισμού ενός τέτοιου συστήματος, υπάρχει ένα ‘Python binding’. Χαρακτηριστικό παράδειγμα είναι το Spark που, αν και το πρωτεύον API του είναι σε Scala, κυρίως χρησιμοποιείται το Python API (PySpark).

Η Python είναι επίσης η γλώσσα που χρησιμοποιούν πλέον οι περισσότεροι data scientists για desktop computing λόγω των εκτεταμένων βιβλιοθηκών έτοιμων αλγορίθμων μηχανικής μάθησης και επεξεργασίας δεδομένων διαφορετικών μορφών και μεγεθών.

Το σεμινάριο είναι τρεις μέρες πρακτικής εκπαίδευσης στις βιβλιοθήκες numpy, pandas, pySpark, scikit-learn, matplotlib και seaborn της Python που κάνουν τα προηγούμενα δυνατά και ευκολότερα από ποτέ. Οι συμμετέχοντες θα έχουν την ευκαιρία να δουλέψουν σε επιχειρησιακά δεδομένα από την Kaggle και αλλού.

Οι συμμετέχοντες θα έχουν στο τέλος ένα σύνολο από Python notebooks, ένα σημαντικό βοήθημα για τις μελλοντικές τους εργασίες.

Στόχοι εκπαίδευσης

  • Εκμάθηση βασικών δομών, στοιχείων και των προγραμματιστικών ιδιωμάτων που κάνουν την Python “Pythonic”!
  • Εκμάθηση των βασικών αρχών των standard Python development front-ends (Jupyter notebook και Qt console).
  • Βασική εκμάθηση των βιβλιοθηκών numpy and pandas που χρησιμοποιούνται για την γρήγορη επεξεργασία αριθμητικών δεδομένων και tabular δομών κύριας μνήμης.
  • Εξοικείωση με το Spark και την PySpark.
  • Εκμάθηση τρόπων απεικόνισης των αποτελεσμάτων ανάλυσης με την χρήση των βιβλιοθηκών matplotlib και seaborn.

Σε ποιούς απευθύνεται

  • Μηχανικοί λογισμικού που θέλουν να στραφούν στην επιστήμη των δεδομένων.
  • Data scientists που θέλουν να μάθουν το “Python data ecosystem”.
  • Business Analysts που έχουν την τόλμη να ξεκινήσουν ένα συναρπαστικό ταξίδι στην επιστήμη δεδομενων.
  • Technical managers που εμπλέκονται στην αξιολόγηση τεχνολογιών, ανθρώπινου δυναμικού, ή στρατηγικών αξιοποίησης των big data στο πλαίσιο σχετικών επιχειρησιακών πολιτικών.

Προαπαιτούμενα

  • Κατανόηση των αρχών προγραμματισμού Η/Υ και εμπειρία στην εγκατάσταση και παραμετροποίηση λογισμικού.
  • Γενικές γνώσεις data formats και data transformations (filtering and reduction).
  • Επιθυμήτη είναι η γνώση βασικών περιγραφικών στατιστικών μέτρων.
  • Ένα laptop με εγκατεστημένο Ubuntu 16.04 ή Windows OS, 4GB RAM και 32GB ελεύθερο αποθηκευτικό χώρο.

Course Outline

  1. Development front-ends: jupiter console, jupyter notebook and qtconsole
    Using the command history
    Interacting with the OS
    The interactive debugger
  2. Python bootcamp
    Literals, expressions and statements
    Python containers, comprehensions and generator expressions
    Function objects, lambdas and closures
  3. Fast array calculations with the numpy package
    The ndarray object
    Universal functions
    Integer and boolean Slicing
    Set logic
  4. Tabular data management with the pandas package
    Indexing, selection and filtering
    Function application and mapping
    Data filtering and reductions
    Handling missing data
    Hierarchical indexing
  5. Cluster computing with Spark and PySpark
    Installing and configuring Spark over Spark’s standalone cluster
    pyspark.Dataframes and untyped operations
    running SQL programmaticaly
    schema objects and types
    aggregations
  6. Plotting with matplotlib and Seaborn packages
    Matplotlib API primer
    Figures, subplots, axes, lines and markers
    Line and bar plots
    Histograms and density plots
    Scatter plots
  7. Introduction to scikit-learn
    Decision trees
    Random forests
    Gradient boosted trees

Πρόγραμμα

Ημέρες και ώρες Ημ/νία Έναρξης Ημ/νία Λήξης Σύνολο Ωρών

TBA

- - -