One-vs-All Multiclass

Questo articolo descrive come usare il componente One-vs-All Multiclass nella finestra di progettazione di Azure Machine Learning. L'obiettivo è creare un modello di classificazione in grado di stimare più classi usando l'approccio uno-e-all .

Questo componente è utile per la creazione di modelli che stimano tre o più risultati possibili, quando il risultato dipende da variabili del predictor continuo o categorico. Questo metodo consente inoltre di usare metodi di classificazione binaria per problemi che richiedono più classi di output.

Altre informazioni sui modelli uno-rispetto a tutti

Alcuni algoritmi di classificazione consentono l'uso di più di due classi per impostazione predefinita. Altri limitano i risultati possibili a uno dei due valori (un modello binario o a due classi). Tuttavia, anche gli algoritmi di classificazione binaria possono essere adattati per le attività di classificazione multiclasse tramite un'ampia gamma di strategie.

Questo componente implementa il metodo one-versus-all, in cui viene creato un modello binario per ognuna delle più classi di output. Il componente valuta ognuno di questi modelli binari per le singole classi rispetto al relativo complemento (tutte le altre classi nel modello) come se si tratta di un problema di classificazione binaria. Oltre all'efficienza di calcolo (sono necessari solo n_classes classificatori), un vantaggio di questo approccio è la sua interpretabilità. Poiché ogni classe è rappresentata da un solo classificatore, è possibile acquisire informazioni sulla classe controllando il classificatore corrispondente. Si tratta della strategia più comunemente usata per la classificazione multiclasse ed è una scelta predefinita equa. Il componente esegue quindi la stima eseguendo questi classificatori binari e scegliendo la stima con il punteggio di attendibilità più alto.

In sostanza, il componente crea un insieme di singoli modelli e quindi unisce i risultati, per creare un singolo modello che stima tutte le classi. Qualsiasi classificatore binario può essere usato come base per un modello uno-rispetto a tutti.

Si supponga, ad esempio, di configurare un modello a macchina a vettori di supporto a due classi e di specificarlo come input per il componente One-vs-All Multiclass. Il componente creerebbe modelli di macchina a vettori di supporto a due classi per tutti i membri della classe di output. Verrà quindi applicato il metodo uno-a-all per combinare i risultati per tutte le classi.

Il componente usa OneVsRestClassifier di sklearn ed è possibile ottenere altri dettagli qui.

Come configurare il classificatore One-vs-All Multiclass

Questo componente crea un insieme di modelli di classificazione binaria per analizzare più classi. Per usare questo componente, è prima necessario configurare ed eseguire il training di un modello di classificazione binaria .

Il modello binario viene connesso al componente One-vs-All Multiclass. Si esegue quindi il training dell'insieme di modelli usando Train Model con un set di dati di training etichettato.

Quando si combinano i modelli, One-vs-All Multiclass crea più modelli di classificazione binaria, ottimizza l'algoritmo per ogni classe e quindi unisce i modelli. Il componente esegue queste attività anche se il set di dati di training potrebbe avere più valori di classe.

  1. Aggiungere il componente One-vs-All Multiclass alla pipeline nella finestra di progettazione. È possibile trovare questo componente in Machine Learning - Inizializza, nella categoria Classificazione .

    Il classificatore One-vs-All Multiclass non dispone di parametri configurabili propri. Tutte le personalizzazioni devono essere eseguite nel modello di classificazione binaria fornito come input.

  2. Aggiungere un modello di classificazione binaria alla pipeline e configurare tale modello. Ad esempio, è possibile usare una macchina a vettori di supporto a due classi o un albero delle decisioni con boosting a due classi.

  3. Aggiungere il componente Train Model alla pipeline. Connettere il classificatore non sottoposto a training che rappresenta l'output di One-vs-All Multiclass.

  4. Nell'altro input di Train Model connettere un set di dati di training etichettato con più valori di classe.

  5. Inviare la pipeline.

Risultati

Al termine del training, è possibile usare il modello per eseguire stime multiclasse.

In alternativa, è possibile passare il classificatore non sottoposto a training al modello di convalida incrociata per la convalida incrociata su un set di dati di convalida etichettato.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.