Vediamo in questa breve panoramica quali sono le principali librerie per implementare al meglio i nostri progetti di Machine Learning in Python.

Il Machine Learning non ha un linguaggio di programmazione ufficiale, ma Python è sicuramente il suo linguaggio ufficioso. Per sfruttare a pieno le potenzialità di Python in questo ambito però abbiamo bisogno di alcuni alleati che possano aiutarci a svolgere dei compiti. Questi alleati sono le librerie (libraries). Ma cosa sono le librerie? E quali sono le principali librerie di Python per il Machine Learning?
Le librerie di Python non sono altro che collezioni di metodi e funzioni che permettono di svolgere delle azioni senza scrivere il codice di ogni passaggio. Questo è molto utile perché permette di semplificare enormemente il nostro codice, sgravandolo dall’onere di dover implementare a mano una moltitudine di operazioni.
Facciamo un esempio: se vogliamo calcolare la radice quadrata di un numero possiamo ricorrere alla procedura manuale, scrivendo passaggio per passaggio le varie operazioni matematiche necessarie. In alternativa, utilizzando una libreria (in questo caso Numpy, che vedremo a breve), basterà una riga di codice.
Calcoliamo con Numpy la radice quadrata di x e assegniamoli il valore y:
y = np.sqrt(x)
E’ bastata una riga di codice per calcolare la radice quadrata: “np” è l’abbreviazione di Numpy, mentre “.sqrt” calcola la radice quadrata del valore tra parentesi.
Vediamo ora quali sono le librerie imprescindibili per il Machine Learning:
#1 Numpy
Numpy è una delle librerie OpenSource di Python. Questa libreria permette di lavorare con vettori e matrici, inoltre fornisce una serie di funzioni matematiche fondamentali per il Machine Learning. E’ la principale libreria per la matematica.
Questo il link per maggiori informazioni: https://numpy.org/
#2 Pandas
Pandas è una delle altre librerie assolutamente fondamentali per ogni data scientist: è infatti una libreria ad hoc per la Data Analysis. Ha moltissime funzioni per l’importazione e la scrittura dei dataset, per data cleaning e pre-processing. Pandas ha due principali strutture di dati: dataframe (ovvero una tabella divisa in colonne e righe) e le series (ovvero degli array uni-dimensionali). E’ possibile mergiare dataset, splittarli, selezione e filtrare righe e colonne.
Questo il link per maggiori informazioni: https://pandas.pydata.org/
#3 Matplotlib
Matplotlib è una libreria che permette di visualizzare i dati. Sono moltissimi i grafici che ci consente di fare questa libreria, dai grafici a barre ai grafici in 3D. Un’alternativa molto valida a Matplotlib è Seaborn, che ha lo stesso compito: data visualization.
Questo il link per maggiori informazioni: https://matplotlib.org/
#4 Scikit-learn
Se Python è il linguaggio principe del Machine Learning, Scikit-learn è la libreria principe del Machine Learning. E’ una libreria pensata proprio per questo: ci sono i principali modelli da implementare, per la classificazione, la regressione, il clustering, e degli importanti ulities, che permettono operazioni di pre-processing, di model optimization e di model evaluation.
Questo il link per maggiori informazioni: https://scikit-learn.org/stable/index.html
#5 Keras
Sebbene Scikit-learn abbia la possibilità di implementare reti neurali, Keras è sicuramente la libreria che permette di farlo al meglio, supportando come back-end altre librerie come TensorFlow, Theano e CNTK. Con Keras potremo costruire reti neurali profonde, modificandone architettura, funzioni di attivazione e molto altro.
Questo il link per maggiori informazioni: https://keras.io/
Autore: Davide Nardini
