Multiclasse Um contra Um
Este artigo descreve como usar o componente Multiclasse Um contra Um no designer do Azure Machine Learning. A meta é criar um modelo de classificação que possa prever várias classes, usando a abordagem um contra um.
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 um
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 um, no qual um modelo binário é criado por par de classes. No momento da previsão, a classe que recebeu a maioria dos votos é selecionada. Como é necessário ajustar os classificadores n_classes * (n_classes - 1) / 2
, esse método é geralmente mais lento do que um contra todos devido à complexidade dele, que é de O(n_classes^2). No entanto, esse método pode ser vantajoso para algoritmos como os de kernel, cujo dimensionamento não é satisfatório com n_samples
. Isso ocorre porque cada problema de aprendizado individual envolve apenas um pequeno subconjunto dos dados, ao passo que, com um versus todos, o conjunto de dados completo é usado n_classes
vezes.
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 versus um.
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 Um. 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 um para combinar os resultados de todas as classes.
O componente usa OneVsOneClassifier de sklearn, e você pode aprender mais detalhes a respeito aqui.
Como configurar o classificador Multiclasse Um contra Um
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 Um. 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 Um 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.
Adicione o componente Multiclasse Um contra Um ao seu pipeline no designer. Você pode encontrar esse componente em Machine Learning – Inicializar, na categoria Classificação.
O classificador Multiclasse Um contra Um 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.
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.
Adicione o componente Treinar Modelo ao pipeline. Conecte o classificador não treinado que é a saída da Multiclasse Um contra Um.
Na outra entrada de Treinar Modelo, conecte um conjunto de dados de treinamento rotulado que tenha vários valores de classe.
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.