Nella prima parte del tutorial sull'uso del linguaggio di programmazione Python per progetti di apprendimento automatico, erano state presentate e commentate le sezioni di codice relative all'impostazione dell'ambiente di lavoro, al caricamento delle librerie e del dataset, alla descrizione statistica e grafica dei dati. In questa seconda parte invece si proseguirà con la descrizione del codice che comprenderà: i metodi di suddivisione del dataset, gli algoritmi di classificazione e le metriche di valutazione.
Introduzione
Quanto operano bene gli algoritmi su dati mai visti? Questa è la domanda che ci si dovrebbe porre quando si valutano le performance degli algoritmi di classificazione per un dato problema. Due sono le metodologie prevalenti per valutare le prestazioni di un algoritmo:
- fare previsioni per nuovi dati di cui si conoscono già le risposte
- utilizzare tecniche basate su statistiche denominate metodi di ricampionamento che consentono di effettuare stime accurate del livello di efficienza dell'algoritmo sui nuovi dati.
Perché non è possibile addestrare gli algoritmi di apprendimento automatico su un dataset e utilizzare le previsioni dello stesso dataset per valutare le performance degli algoritmi di apprendimento automatico? La risposta è semplice: sovradattamento.
Supponendo esista un algoritmo che ricordi ogni osservazione che gli viene mostrata. Se valutato sullo stesso set di dati utilizzato per addestrarlo, tale algoritmo otterrebbe un punteggio perfetto nel set di dati di addestramento. Ma le previsioni fatte su nuovi dati sarebbero terribili. Non riesce a generalizzare!.
Occorre valutare gli algoritmi di apprendimento automatico sui dati che non vengono utilizzati per addestrare l'algoritmo. La valutazione è una stima dell'efficacia dell'algoritmo nella pratica, non è una garanzia di prestazioni.
Il dataset su cui operare va quindi suddiviso in due parti: una parte con cui addestrare l'algoritmo (set di addestramento) e l'altra con cui testarlo (set di prova). [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2282 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Ciao, complimenti per l’articolo è fatto molto bene e di semplice comprensione.
L’unico appunto che farei è di utilizzare la terminologia standard usata nel Machine Learning spiegando cosa significa con parole italiane. Ad esempio sovradattamento, set di prova, set di test –> overfitting, training set e test set. Questo in modo tale che poi si abbia una certa facilità nell’usare poi altre fonti dato che ormai il lessico specifico è abbastanza standardizzato. Anche perché poi, a voler essere super italiani, set di prova dovrebbe essere insieme di prova :-).
Errata corrige: sovradattamento, set di addestramento, set di prova –> overfitting, training set e test set
Grazie Jimi75.
La questione se tradurre o meno in italiano la terminologia usata in informatica (spesso in inglese) è controversa. Comunque sia terrò presenti le tue considerazioni in futuro, grazie per il tuo contributo.