Multiclasse Um contra Todos
Este artigo descreve como usar o componente Multiclasse Um contra Todos no designer do Azure Machine Learning. O objetivo é criar um modelo de classificação que possa prever várias classes, usando a abordagem um contra todos .
Este componente é útil para criar modelos que predizem três ou mais resultados possíveis, quando o resultado depende de variáveis preditoras contínuas ou categóricas. Esse método também permite que você use métodos de classificação binária para problemas que exigem várias classes de saída.
Mais 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 a um de 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 multiclasse através de uma variedade de estratégias.
Este componente implementa o método um-versus-all, no qual 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 seu complemento (todas as outras classes no modelo) como se fosse um problema de classificação binária. Além de sua eficiência computacional (apenas n_classes
classificadores são necessários), uma vantagem desta abordagem é sua interpretabilidade. Como cada classe é representada por um e um classificador apenas, é possível obter conhecimento sobre a classe inspecionando seu classificador correspondente. Esta é a estratégia mais comumente usada para classificação multiclasse e é uma escolha padrão justa. Em seguida, o componente executa 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, em seguida, mescla os resultados, para criar um único 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 máquina vetorial de suporte de duas classes e forneça isso como entrada para o componente Multiclasse Um contra Todos. O componente criaria modelos de máquina vetorial de suporte de duas classes para todos os membros da classe de saída. Em seguida, aplicaria o método "um contra todos" para combinar os resultados para todas as classes.
O componente usa OneVsRestClassifier do sklearn, e você pode saber 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 usar esse componente, você precisa configurar e treinar um modelo de classificação binária primeiro.
Você conecta o modelo binário ao componente Multiclasse One-vs-All. Em seguida, você treina o conjunto de modelos usando Train Model com um conjunto de dados de treinamento rotulado.
Quando você combina os modelos, One-vs-All Multiclass 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 mesmo que o conjunto de dados de treinamento possa ter vários valores de classe.
Adicione o componente Multiclasse Um contra Todos ao seu pipeline no designer. Você pode encontrar esse componente em Machine Learning - Initialize, na categoria Classificação .
O classificador Multiclasse One-vs-All não tem parâmetros configuráveis próprios. Todas as personalizações devem ser feitas no modelo de classificação binária fornecido como entrada.
Adicione um modelo de classificação binária ao pipeline e configure esse modelo. Por exemplo, você pode usar a máquina vetorial de suporte de duas classes ou a árvore de decisão impulsionada de duas classes.
Adicione o componente Modelo de trem ao seu pipeline. Conecte o classificador não treinado que é a saída do One-vs-All Multiclass.
Na outra entrada de Train Model, conecte um conjunto de dados de treinamento rotulado que tenha vários valores de classe.
Envie o pipeline.
Resultados
Após a conclusão do treinamento, você pode usar o modelo para fazer previsões multiclasse.
Como alternativa, você pode passar o classificador não treinado para o modelo de validação cruzada para validação cruzada em relação a um conjunto de dados de validação rotulado.
Próximos passos
Consulte o conjunto de componentes disponíveis para o Azure Machine Learning.