Questo corso è dedicato a chi si avvicina al mondo del machine learning per la prima volta, pur avendo delle basi di programmazione e analisi dati con R. Questo non è un corso divulgativo generico sul machine learning, è un corso che vuole spiegare le tecniche più semplici di machine learning con R. Se non sai ancora programmare con R, questo corso non fa per te. Se stai cercando qualcosa che ti insegni prima di tutto a programmare con R, dai un’occhiata qui. Se stai cercando qualcosa di divulgativo e per niente tecnico che ti spieghi tramite esempi cos’è e a cosa serve il machine learning, ti consiglio di dare un’occhiata ad esempio al libro di Eric Siegel, qui. Se non hai voglia di sentire 10 ore di registrato, non ami i corsi, conosci già bene il linguaggio R ma vuoi approfondire il machine learning, puoi dare un’occhiata al mio libro, qua.
Se invece stai cercando esempi e casi per capire in maniera semplice le tecniche base del machine learning con R, sei nel posto giusto. R è uno dei linguaggi di programmazione più diffusi quando si parla di analisi dati, e comprende una serie di pacchetti e funzioni che possono aiutarci a predire dei dati.
Il machine learning comprende una serie di tecniche, alcune statistiche, come la regressione, altre categoriche, supervisionate e non supervisionate. Le tecniche supervisionate si appoggiano su dei dati pregressi. Immagina di voler far partire una campagna pubblicitaria per un prodotto: per prima cosa raccoglierai i dati sui clienti che hanno acquistato quel prodotto in passato. A questo punto il machine learning può aiutarti a costruire un profilo di persona potenzialmente interessata all’acquisto di quel particolare prodotto (ad esempio, donne tra i 30 e i 40 anni, che abitano in piccoli centri ed entrano in libreria almeno una volta al mese). Una volta che hai chiaro il target a cui rivolgerti, è più semplice pianificare una campagna basandoti sui dati che hai e su come raggiungere i tuoi potenziali clienti!
Facciamo un altro esempio: hai un’azienda ben affermata, che però sta perdendo un po’ di clienti negli ultimi tempi: magari un concorrente ha appena aperto, oppure la tua clientela invecchia e non ci sono sostituzioni tra le persone più giovani. A questo punto, costruisci sempre un dataset, dove avrai una serie di dati sui tuoi clienti. In fondo al dataset, una colonna indicherà per ogni cliente se questi è ancora fedele all’azienda oppure se l’ha abbandonata. In base a questo dataset possiamo prevedere il profilo tipo di un cliente che è a rischio di abbandono, capire i motivi e tentare di recuperarlo, grazie alle tecniche di machine learning. Quando abbiamo una colonna nel dataset che ci indica per ogni cliente se questi è fedele o ha abbandonato l’azienda, allora parliamo di metodi supervisionati.
Le tecniche di machine learning non sono tutte di tipo supervisionato. Alcune tecniche di machine learning, come ad esempio il clustering, ci aiutano a creare dei gruppi in un dataset, dove gli appartenenti a un gruppo sono simili tra loro e dissimili rispetto agli appartenenti a un altro gruppo. Altre tecniche non supervisionate vengono usate ad esempio nei supermercati, per capire quali prodotti vengono acquistati insieme, e quindi programmare delle promozioni.
In questo corso vedremo vari tipi di tecniche di machine learning con R, sia supervisionate che non supervisionate, e imparerai a predire, a partire da un dataset etichettato (ti ricordi quando abbiamo scritto per ogni cliente se era fedele o aveva abbandonato l’azienda?) le appartenenze per un dataset simile ma che non contiene le etichette. Per fare questo utilizzeremo delle tecniche basate sulla probabilità, tecniche algebriche basate sulla distanza, gli alberi di decisione, e i network neurali. Imparerai a misurare la precisione di una predizione, a ripulire i dataset in caso ci siano problemi o casi non completi, come valutare ed effettuare sostituzioni se hai molti valori mancanti, come distinguere in maniera automatica un’email di spam da una che non lo è, come rappresentare graficamente i dati, come esportare un modello di analisi e come utilizzare delle tecniche ensemble per migliorare la predittività.