Concetti e tecniche di Data Science in Python

A cura di Andrea D'Agostino

Glossario

Le informazioni in questa pagina sono in continuo aggiornamento.

Accuratezza

L'accuratezza è una metrica di valutazione delle performance di un modello di machine learning. Misura il numero di osservazioni correttamente predette sul numero di osservazioni totali.

La sua formula

\[ accuratezza \ = \frac{numero\_osservazioni\_corrette}{N}  \]

Adam

Adam è il nome di uno degli algoritmi di ottimizzazione più usati per l'addestramento dei modelli di deep learning. Viene utilizzato per calcolare i tassi di apprendimento adattivo per ciascun parametro. Oltre ad essere efficiente dal punto di vista computazionale, Adam impatta poco sulla memoria del sistema e di conseguenza funziona bene in molti scenari diversi.

Albero decisionale

Un albero decisionale è un tipo di apprendimento automatico supervisionato utilizzato per fare classificazione o regressione in base a come è stata data risposta a una precedente serie di domande. Il modello è una forma di apprendimento supervisionato, il che significa che il modello viene addestrato e testato su un set di dati che contiene la categorizzazione desiderata.

Algoritmo

Un algoritmo è un insieme di istruzioni che diamo a un computer in modo che possa eseguire un compito. Nel contesto della data science, la parola algoritmo può essere utilizzata per descrivere un modello di machine learning.

Backend

Il backend è tutto il codice e la tecnologia che lavora dietro le quinte per popolare il frontend con informazioni utili. Ciò include database, server, procedure di autenticazione e molto altro.

Backpropagation

In italiano propagazione a ritroso, è un processo di aggiornamento dei pesi e dei bias delle reti neurali. Gli algoritmi di backpropagation funzionano determinando l'error in output e quindi propagandolo nuovamente nella rete, andando a ritroso. I pesi vengono aggiornati per ridurre al minimo l'errore derivante da ciascun neurone. La minimizzazione dell'errore avviene determinando la derivata di ciascun nodo rispetto all'output finale. In base alla pendenza della funzione in un determinato punto e alla funzione di perdita, l'algoritmo di backpropagation è in grado di modificare pesi e bias della rete neurale per contribuire ad un miglioramento delle performance.

Bagging

Il bagging è una tecnica in cui vengono creati più modelli predittivi e loro le previsioni finali vengono determinate combinando le previsioni di tutti i modelli. Il modello Random Forest è un modello che si basa sulla tecnica del bagging.

Bias

In italiano traducibile come imparzialità, pregiudizio, il bias è, nel contesto del machine learning, uno dei parametri regolabili in una rete neurale insieme ai pesi. Attraverso algoritmi di ottimizzazione e di aggiornamento come la backpropagation, una rete neurale raggiunge performance migliori andando a modificare i parametri di bias e peso per approssimare meglio la funzione che minimizza l'errore.

Big Data

Il termine big data si riferisce ad un insieme di tecniche di raccolta e processamento del dato responsabili ad elaborare enormi moli di dati assicurando tempi di esecuzione molto brevi. Si va nei big data quando si parla di mettere insieme dataset che superano il terabyte di grandezza, e di fare ciò ripetutamente per periodi di tempi indefiniti. I problemi che dobbiamo affrontare con i big data sono classificati dalle 4 V: volume, varietà, veridicità e velocità.

Boosting

Il boosting è un processo sequenziale, in cui ogni modello successivo tenta di correggere gli errori del modello precedente. I modelli successivi dipendono dal modello precedente. Alcuni degli algoritmi di potenziamento sono Ada Boost, GBM, LightGBM, CatBoost e altri.

Bootstrapping

Il bootstraping è il processo di divisione del dataset in più sottoinsiemi, con sostituzione. Ogni sottoinsieme ha le stesse dimensioni del set di dati. Questi campioni sono chiamati campioni bootstrap.

Business Intelligence

La business intelligence è un insieme di strategie, applicazioni, dati, tecnologie utilizzate da un'organizzazione per la raccolta dei dati, l'analisi e la generazione di valore per ricavare opportunità di business strategiche.

Classificazione

La classificazione è un problema di apprendimento automatico supervisionato. Quando siamo di fronte ad un problema di classificazione il nostro obiettivo è quello di separare un punto in base alla sua somiglianza (o anche altri fattori) con altri punti.

Cloud Computing

Il Cloud Computing è un termine generico che indica tutto ciò che comporta la fornitura di servizi ospitati su Internet. Questi servizi sono suddivisi in tre categorie principali o tipi di cloud computing: infrastruttura come servizio (IaaS), piattaforma come servizio (PaaS) e software come servizio (SaaS).

Clustering

Il clustering (in italiano raggruppamento) è un metodo di apprendimento non supervisionato utilizzato per scoprire raggruppamenti intrinseci nei dati. Esempi di algoritmi di clustering sono KMeans e clustering gerarchico.

Computer Vision

La Computer Vision è un campo dell'informatica che si occupa di consentire ai computer di visualizzare, elaborare e identificare immagini/video.

Correlazione

La correlazione è una misura statistica che indica quanto due o più variabili cambiano l'una rispetto all'altra. Una correlazione positiva indica la misura in cui tali variabili aumentano o diminuiscono parallelamente; una correlazione negativa indica la misura in cui una variabile aumenta al diminuire dell'altra.

Cross-validazione

La cross-validazione è una tecnica utilizzata per la valutazione di come i risultati di un modello predittivo si generalizzano a un set di dati indipendente da quello di addestramento. La cross-validazione è ampiamente utilizzata in contesti in cui l'obiettivo è la previsione ed è necessario stimare l'errore delle prestazioni di un modello predittivo. Nella K-fold cross-validazione, i dati vengono prima partizionati in k segmenti uguali. Successivamente vengono eseguite k iterazioni di addestramento e convalida in modo tale che all'interno di ogni iterazione una diversa porzione dei dati venga tenuta fuori per la convalida mentre le rimanenti k - 1 porzioni vengono utilizzate per l'apprendimento.

Database

Un database non è altro che uno spazio di archiviazione per i dati, e può essere fisico o virtuale. Utilizziamo principalmente database con un Database Management System (DBMS), come PostgreSQL o MySQL. Un database è tipicamente relazionale o non-relazionale.

Data Warehouse

Una data warehouse (magazzino dati in italiano) è un sistema utilizzato per eseguire analisi dati utilizzando dati provenienti da molte fonti. Sono progettati per consentire agli utenti di effettuare analisi senza permettere loro di connettersi direttamente a dei database, dove i dati possono essere in un formato poco utilizzabile o che richiedono processamento.

Data Science

La Data Science (scienza dei dati) è il campo di studio che combina competenze di dominio, capacità di programmazione e conoscenza della matematica e della statistica per estrarre informazioni significative dai dati. I professionisti della scienza dei dati applicano algoritmi di apprendimento automatico a numeri, testo, immagini, video, audio e altro ancora per produrre sistemi di intelligenza artificiale (AI) per eseguire attività che normalmente richiedono intelligenza umana. A loro volta, questi sistemi generano informazioni che gli analisti e gli utenti aziendali possono tradurre in valore aziendale tangibile.

Data Scientist

Un Data Scientist è un professionista dell'analisi dati che è responsabile della raccolta, dell'analisi e dell'interpretazione dei dati per aiutare a guidare il processo decisionale in un'organizzazione. Il ruolo di data scientist combina elementi di diversi lavori tradizionali e tecnici, tra questi rientrano competenze di matematica, statistica e programmazione. Implica l'uso di tecniche di analisi avanzate, come il machine learning e la modellazione predittiva, insieme all'applicazione di principi scientifici.

Data Analytics

La Data Analytics è la scienza che analizza i dati grezzi per trarre conclusioni su tali informazioni. Molte delle tecniche e dei processi di analisi dei dati vengono automatizzati in processi meccanici con algoritmi che lavorano su dati grezzi per il consumo umano.

Data Analyst

Un Data Analyst (analista di dati) è un professionista che recupera, organizza e analizza le informazioni da varie fonti per aiutare un'organizzazione a raggiungere gli obiettivi aziendali. I Data Analyst utilizzano tecniche statistiche e linguaggi di programmazione per trasformare numeri in informazioni che un'organizzazione può utilizzare per migliorare il flusso di lavoro e i processi aziendali. Un obiettivo importante dell'analisi è distinguere tra quali dati sono importanti e quali dati dovrebbero avere meno peso. In molte organizzazioni, i data analyst sono anche responsabili della qualità dei dati e della preparazione dei report per gli stakeholder interni ed esterni.

Data Engineering

L'attività di Data Engineering (ingegneria dei dati) rende dati grezzi utilizzabili ai team di analisi dati all'interno di un'organizzazione. L'ingegneria dei dati comprende numerose specialità della data science. Oltre a rendere i dati accessibili, i data engineer creano analisi dei dati grezzi per fornire modelli predittivi e mostrare le tendenze a breve e lungo termine. Senza l'ingegneria dei dati, sarebbe impossibile dare un senso alle enormi quantità di dati a disposizione delle aziende.

Data Engineer

I Data Engineer (ingegneri dei dati) sono responsabili del ciclo di vita di un dataset all'interno dell'organizzazione. Essi sono principalmente interessati ad aggregare dati grezzi e trasformarli in formati di dati utili, ordinati e strutturati e renderli disponibili al team di analisi dati per l'elaborazione. Una delle loro responsabilità cardine è creare l'impalcatura per salvare il dato nel cloud trovando le soluzioni di memorizzazione più efficace per il progetto e l'organizzazione.

Data Visualization

La Data Visualization (visualizzazione dei dati) è la rappresentazione grafica di informazioni e dati. Utilizzando elementi visivi come diagrammi, grafici e mappe, gli strumenti di visualizzazione dei dati forniscono un modo accessibile per vedere e comprendere tendenze, valori anomali e modelli nei dati. Inoltre, fornisce un modo eccellente per i dipendenti o gli imprenditori di presentare i dati a un pubblico non tecnico senza confusione.

Deep Learning

Il deep learning, in italiano apprendimento profondo, è un sottoinsieme dell'apprendimento automatico. Il termine descrive principalmente le reti neurali artificiali. Queste reti neurali tentano di simulare il comportamento del cervello umano, anche se lungi dall'eguagliare le sue capacità, permettendogli di "imparare" da grandi quantità di dati. Mentre una rete neurale con un singolo strato può ancora fare previsioni approssimative, ulteriori livelli nascosti possono aiutare a ottimizzare e perfezionare la precisione.

Early Stopping

L'Early Stopping (arresto anticipato) è una tecnica nel machine learning per la prevenzione dell'overfitting in un modello predittivo. Se lasciamo che un modello di machine learning come una rete neurale si addestri abbastanza a lungo su un dataset, alla fine questo può apprendere come modellare esattamente questi dati (overfitting). Al contrario, se il modello viene addestrato solo per poco poco tempo o su dati non rappresentativi, il modello potrebbe generalizzare bene ma non avrà un'accuratezza desiderabile (underfitting). L'early stopping termina l'addestramento di un modello nel momento migliore, andando ad evitare sia underfitting che overfitting.

EDA (Exploratory Data Analysis)

L'EDA o analisi esplorativa dei dati è una fase della pipeline di data science in cui l'obiettivo è comprendere la struttura e pattern dei dati attraverso la visualizzazione o l'analisi statistica dei dati.

ETL (Extract, Load, Transform)

ETL (estrazione, caricamento e trasformazione del dato) rappresenta tre processi che, in combinazione, spostano i dati da un database o altre fonti a un repository unificato, in genere un data warehouse. Consente all'analisi dei dati di fornire informazioni aziendali fruibili, preparando efficacemente i dati per i processi di analisi e business intelligence.

Frontend

Il frontend è tutto ciò con cui un utente può vedere e interagire direttamente. Ciò include dashboard di dati, pagine Web e moduli. Un frontend è basato tipicamente su HTML, CSS e Javascript.

Machine Learning

In italiano apprendimento automatico o apprendimento macchina, il machine learning racchiude l'essenza delle tecniche usate da un data scientist per fare il suo lavoro. Di fatto, un