Multiclasse One-vs-All

Este artigo descreve como utilizar o componente One-vs-All Multiclass no estruturador do Azure Machine Learning. O objetivo é criar um modelo de classificação que possa prever várias classes através da abordagem um-versus-todos .

Este componente é útil para criar modelos que predizem três ou mais resultados possíveis, quando o resultado depende de variáveis de predição contínuas ou categóricas. Este método também lhe permite utilizar métodos de classificação binária para problemas que requerem várias classes de saída.

Mais sobre modelos one-versus-all

Alguns algoritmos de classificação permitem a utilização de mais de duas classes por predefinição. Outros restringem os resultados possíveis a um de dois valores (um modelo binário ou de duas classes). Mas até os algoritmos de classificação binária podem ser adaptados para tarefas de classificação de várias classes através de uma variedade de estratégias.

Este componente implementa o método one-versus-all, no qual é criado um modelo binário para cada uma das várias classes de saída. O componente avalia cada um destes modelos binários para as classes individuais em relação ao seu complemento (todas as outras classes no modelo) como se se tratasse de um problema de classificação binária. Além da eficiência computacional (apenas n_classes são necessários classificadores), uma das vantagens desta abordagem é a sua interpretabilidade. Uma vez que cada classe é representada apenas por um e um classificador, é possível obter conhecimentos sobre a classe ao inspecionar o classificador correspondente. Esta é a estratégia mais utilizada para a classificação de várias classes e é uma opção predefinida justa. Em seguida, o componente executa a predição ao executar estes classificadores binários e escolher a predição com a classificação de confiança mais alta.

Essencialmente, o componente cria um conjunto de modelos individuais e, em seguida, intercala os resultados, para criar um único modelo que prevê todas as classes. Qualquer classificador binário pode ser utilizado como base para um modelo um-versus-todos.

Por exemplo, digamos que configura um modelo de Máquina de Vetor de Suporte de Duas Classes e o fornece como entrada para o componente One-vs-All Multiclass. O componente criaria modelos de máquinas de vetor de suporte de duas classes para todos os membros da classe de saída. Em seguida, aplicaria o método one-versus-all para combinar os resultados para todas as classes.

O componente utiliza OneVsRestClassifier de sklearn e pode obter mais detalhes aqui.

Como configurar o classificador Multiclasse One-vs-All

Este componente cria um conjunto de modelos de classificação binária para analisar várias classes. Para utilizar este componente, primeiro tem de configurar e preparar um modelo de classificação binária .

Pode ligar o modelo binário ao componente One-vs-All Multiclass. Em seguida, irá preparar o conjunto de modelos com o Modelo de Preparação com um conjunto de dados de preparação etiquetado.

Ao combinar os modelos, a Multiclasse One-vs-All cria vários modelos de classificação binária, otimiza o algoritmo para cada classe e, em seguida, intercala os modelos. O componente faz estas tarefas mesmo que o conjunto de dados de preparação possa ter vários valores de classe.

  1. Adicione o componente One-vs-All Multiclass ao seu pipeline no estruturador. Pode encontrar este componente em Machine Learning – Inicializar, na categoria Classificação .

    O classificador One-vs-All Multiclass não tem parâmetros configuráveis próprios. Todas as personalizações têm de ser efetuadas no modelo de classificação binária fornecido como entrada.

  2. Adicione um modelo de classificação binária ao pipeline e configure esse modelo. Por exemplo, pode utilizar a Máquina de Vetor de Suporte de Duas Classes ou a Árvore de Decisões Reforçada de Duas Classes.

  3. Adicione o componente Preparar Modelo ao pipeline. Ligue o classificador não preparado que é o resultado de One-vs-All Multiclass.

  4. Na outra entrada do Modelo de Preparação, ligue um conjunto de dados de preparação etiquetado que tenha vários valores de classe.

  5. Submeta o pipeline.

Resultados

Após a conclusão da preparação, pode utilizar o modelo para fazer predições de várias classes.

Em alternativa, pode transmitir o classificador não preparado para Cross-Validate Model para validação cruzada num conjunto de dados de validação etiquetado.

Passos seguintes

Veja o conjunto de componentes disponíveis para o Azure Machine Learning.