Multiclasse uma-vs-todas

Este artigo descreve como usar o componente Multiclasse Um contra Todos no Azure Machine Learning Designer. A meta é criar um modelo de classificação que possa prever várias classes, usando a abordagem um contra todos.

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

Mais informações sobre modelos um contra todos

Alguns algoritmos de classificação permitem o uso de mais de duas classes por design. Outros restringem os resultados possíveis para um entre dois valores (um modelo binário ou de duas classes). Mas mesmo algoritmos de classificação binária podem ser adaptados para tarefas de classificação de várias classes por meio de diversas estratégias.

Este componente implementa o método um contra todos, em que um modelo binário é criado para cada uma das várias classes de saída. O componente avalia cada um desses modelos binários para as classes individuais em relação ao respectivo complemento (todas as outras classes no modelo), como se ele fosse um problema de classificação binária. Além da eficiência computacional (apenas os classificadores n_classes são necessários), outra vantagem dessa abordagem é a facilidade de interpretação. Como cada classe é representada apenas por um classificador, é possível obter conhecimento sobre a classe inspecionando o classificador correspondente. Essa é a estratégia mais comumente usada para classificação multiclasse e é uma boa opção padrão. Em seguida, o componente realiza a previsão executando esses classificadores binários e escolhendo a previsão com a pontuação de confiança mais alta.

Em essência, o componente cria um conjunto de modelos individuais e mescla os resultados a fim de criar um modelo que prevê todas as classes. Qualquer classificador binário pode ser usado como base para um modelo um contra todos.

Por exemplo, digamos que você configure um modelo de computador de vetor de suporte de duas classes e forneça isso como entrada para o componente Multiclasse Um contra Todos. O componente criará modelos de computador de vetor de suporte de duas classes para todos os membros da classe de saída. Em seguida, ele aplicará o método um contra todos para combinar os resultados de todas as classes.

O componente usa OneVsRestClassifier de sklearn, e você pode aprender mais detalhes a respeito aqui.

Como configurar o classificador Multiclasse Um contra Todos

Esse componente cria um conjunto de modelos de classificação binária para analisar várias classes. Para usar este componente, você precisa primeiro configurar e treinar um modelo de classificação binária.

Você conecta o modelo binário ao componente Multiclasse Um contra Todos. Em seguida, você treina o conjunto de modelos usando Treinar Modelo com um conjunto de dados de treinamento rotulado.

Quando você combina os modelos, a Multiclasse Um contra Todos cria vários modelos de classificação binária, otimiza o algoritmo para cada classe e, em seguida, mescla os modelos. O componente executa essas tarefas, embora o conjunto de dados de treinamento possa ter vários valores de classe.

  1. Adicione o componente Multiclasse Um contra Todos ao seu pipeline no designer. Você pode encontrar esse componente em Machine Learning – Inicializar, na categoria Classificação.

    O classificador Multiclasse Um contra Todos não tem nenhum parâmetro configurável. Todas as personalizações precisam ser feitas no modelo de classificação binária que é fornecido como entrada.

  2. Adicione um modelo de classificação binária ao pipeline e configure esse modelo. Por exemplo, você pode usar um computador de vetor de suporte de duas classes ou uma árvore de decisão aumentada de duas classes.

  3. Adicione o componente Treinar Modelo ao pipeline. Conecte o classificador não treinado que é a saída da Multiclasse Um contra Todos.

  4. Na outra entrada de Treinar Modelo, conecte um conjunto de dados de treinamento rotulado que tenha vários valores de classe.

  5. Enviar o pipeline.

Resultados

Após a conclusão do treinamento, você pode usar o modelo para fazer previsões multiclasse.

Alternativamente, você pode passar o classificador não treinado para o Modelo de Validação Cruzada para validação cruzada no conjunto de dados de validação rotulado.

Próximas etapas

Confira o conjunto de componentes disponíveis no Azure Machine Learning.