Un multilabel classification system e un multioutput classification system sono sistemi con un livello di complessità superiore. Dobbiamo avere prima chiari i concetti base.
Un classificatore binario (binary classifier) gestisce egregiamente due classi. Quando il loro numero aumenta, passiamo a un classificatore mutli–classe (multiclass classifier), o usiamo degli escamotage.
Questa tipologia di classificatori muove però dall’assunzione che ogni istanza è associata a una e una sola classe.
Quindi un frutto può essere una banana, o una mela, ma non tutti e due allo stesso tempo, poiché siamo fuori dal regno della meccanica quantistica e il principio di non contraddizione del buon Aristotele domina sovrano.
Cosa succede quando la realtà non è codificabile in questi due sistemi?
Multilabel Classification System
Un multilabel classifier produce multiple label binarie per ogni specifica classe. Un sistem simile è particolarmente utile nelle immagini, per l’identificazione dei volti.
Così un’immagine contiene i volti di Andrea, Chiara e Roberta [1,1,1], ma una seconda solo quelli di Andrea e Chiara [1,1,0]. Le classi sono tre e ogni istanza può allo stesso tempo avere più di una classe.
Un estratto di testo tratta di religione, politica e finanza ma non di tecnologia [1,1,1,0], mentre un altro solo di finanza e tencologia [0,0,1,1].
Generalmente la libreria Scikit-Learn gestisce questo sistema di classificatori attribuendo un ugual peso a ciascuna label. Spesso potrebbe capitare di voler aggirare questo comportamento specificando un peso, proporzionale al support, ossia le il numero complessivo d’istanze con quella particolare label.
Code da ricordare?
average="weighted"
Peraltro un multiclass classification system può essere convertito in un multilabel classification system.
Considera che esistono granchi di sesso maschile o femminili con esoscheletro blu o arancione.
Un multiclass classification system avrà 4 possibili classi e una sola classe finale
- male-blue,
- male-orange,
- female-blue
- female-orange
Mentre un multilabel classification system avrà 2 label possibili e 2 classi contemporanemaente:
- male / female
- orange / blue
Multioutput Classification System
Un multioutput-multiclass classification system, o multioutput classification è una generalizzazione del multilabel classification quando le classi per ciascuna label sono più di due (mutliclass label).
Un caldo abbraccio, Andrea.