Sei sulla pagina 1di 1

Esercitazione per l’ammissione all’esame scritto

Prof. Michela Antonelli

Classificazione Semi-Supervisionata
Si richiede di effettuare degli esperimenti con applicazione di algoritmi di classificazione in cui il
modello predittivo viene generato in maniera semi supervisionata. In questo contesto, si suppone che
il training set (F caratteristiche descrittive ed una caratteristica per la classe) sia costituito da una
porzione di dati non etichettati che vengono sfruttati per rafforzare il modello predittivo. Si supponga
di utilizzare un algoritmo di clustering quale il Simple K-means. L’approccio da seguire è:

- Supponendo di conoscere il numero N di classi, applicare un algoritmo di clustering per


generare un modello di clustering (identificare i cluster, ciascuno descritto dai propri
centroidi) fissando il numero di cluster da identificare pari ad N. Per far ciò , considerare il
training set senza etichette (considerare solo le F caratteristiche descrittive).
- Una volta generato il modello di clustering, considerare tutte le istanze etichettate del training
set e calcolare la distanza di ciascuna di esse dai centroidi. Assegnare l’istanza al cluster più
vicino.
- Identificare l’etichetta di ciascun cluster: per ciascun cluster verificare quante istanze
etichettate del training set sono state assegnate ad esso ed associare al cluster l’etichetta più
ricorrente (esempio: se nel cluster x ci sono 4 istanze di classe 1, 1 istanza di classe 2 e 2
istanze di classe 3, assegnare al cluster l’etichetta classe 1)
- Utilizzare il modello per classificare: data una istanza sconosciuta, calcolare la distanza da
ciascun centroide ed associare l’etichetta del cluster del centroide più vicino.

Per ciascun punto di cui sopra realizzare uno script o una funzione (fare in modo che sia tutto
parametrico)

Viene fornito un dataset in formato ARFF (utilizzato in WEKA, facile da comprendere dalla descrizione
allegata) su cui si richiede di effettuare una 10 fold cross validation: per ogni training set (in tutto ne
saranno 10), estrarre un percentuale di istanza etichettate (cercando di mantenere la distribuzione
delle classi) pari al 30%, 20%, 10% e 5% delle classi e costruire il modello semi-supervisionato come
descritto sopra. Riportare su un grafico l’andamento dell’accuratezza media sul test set al variare della
percentuale di istanze etichettate sul training set.

Generare una o più tabelle che per ogni classe e per ogni percentuale di istanze etichettate riporti il
valore medio sui 10 fold del True Positive Rate e del False Positive Rate.

I punti devono essere svolti scrivendo dei programmi Java utilizzando le API di Weka.

Lo studente deve consegnare una relazione in cui vengono descritti tutte le scelte effettuate, i passi
realizzati, i risultati ottenuti (importante organizzarli in tabelle e discuterli), discussioni e
considerazioni finali. Tutti i codici e gli script prodotti devono essere consegnati e discussi in dettaglio
nella relazione.

Potrebbero piacerti anche