|
Docente
|
PANNONE DANIELE
(programma)
Parte I Introduzione al linguaggio Python. Tipi di dato base (liste,tuple, numeri, stringhe). Input dall'utente. Conversione di tipi. Iterazioni su liste. Espressioni booleane e condizionali. Operatori logici. Definizione e utilizzo di funzioni. Slicing di liste, list comprehension e funzione zip(). Introduzione ai notebook Jupyter.
Parte II Introduzione a Numpy. Differenze tra array Numpy e liste standard. Creazione e inizializzazione di array. Definizione del tipo di array e attributi. Accesso alle posizioni degli array, array slicing. Array multidimensionali e relativo accesso/slicing. Operazioni su array: reshape, concatenation, splitting. Vettorizzazione e ufuncs. Ufuncs come funzioni o operatori. Specifica dell'output delle ufuncs. Aggregazione con reduce(). Funzioni di aggregazione: max, min, mean, etc. Broadcasting. Comparazioni, array booleani, maschere. Fancy indexing. Structured arrays.
Parte III Introduzione a Pandas. Introduzione agli oggetti di Pandas: Series, Dataframes e Index. Selezione dei dati e indexing. Operazioni in Pandas: ufuncs in Series e Dataframes. Hierarchical indexing. Multiindex e slicing con multiindex. Unire datasets: concat, append, merge. Join uno a uno, uno a molti, molti a molti. Specifica della chiave di merging.
Parte IV Introduzione al Machine Learning. Differenza tra apprendimento supervisionato, non supervisionato e semi-supervisionato. Differenza tra classificazione e regressione. Introduzione a Scikit-Learn e come utilizzarlo. Iperparametri e validazione del modello. Cross validation. Leave one out validation. Overfitting. Introduzione ai classificatori noti: Naïve Bayes, Linear Regression, Support Vector Machine.
 Python Data Science Handbook, Jake VanderPlas
|