Classificação Multiclasse

Concluído

Observação

Consulte a guia Texto e imagens para obter mais detalhes!

A classificação multiclasse é usada para prever a qual das várias classes possíveis uma observação pertence. Como uma técnica de aprendizado de máquina supervisionada, ela segue o mesmo processo iterativo de treinamento, validação e avaliação que a regressão e a classificação binária, em que um subconjunto dos dados de treinamento é retido para validar o modelo treinado.

Exemplo – classificação de várias classes

Algoritmos de classificação multiclasse são usados para calcular valores de probabilidade para vários rótulos de classe, permitindo que um modelo preveja a classe mais provável para uma determinada observação.

Vamos explorar um exemplo no qual temos algumas observações de pinguins, em que o comprimento da nadadeira (x) de cada pinguim é registrado. Para cada observação, os dados incluem a espécie de pinguim (y), que é codificada da seguinte maneira:

  • 0: Adelie
  • 1: Gentoo
  • 2: Chinstrap

Observação

Assim como nos exemplos anteriores neste módulo, um cenário real incluiria vários valores de recurso (x). Usaremos um único recurso para manter as coisas simples.

Diagrama de uma régua de medição. Diagrama de três pinguins.
Comprimento da nadadeira (x) Espécies (y)
167 0
172 0
225 2
197 1
189 1
232 2
158 0

Treinar um modelo de classificação de várias classes

Para treinar um modelo de classificação multiclasse, precisamos usar um algoritmo para ajustar os dados de treinamento a uma função que calcula um valor de probabilidade para cada classe possível. Há dois tipos de algoritmo que você pode usar para fazer isso:

  • Algoritmos One-vs-Rest (OvR)
  • Algoritmos multinomiais

Algoritmos One-vs-Rest (OvR)

Algoritmos one-vs-Rest treinam uma função de classificação binária para cada classe, cada uma calculando a probabilidade de que a observação seja um exemplo da classe de destino. Cada função calcula a probabilidade da observação ser uma classe específica em comparação com qualquer outra classe. Para nosso modelo de classificação de espécies de pinguins, o algoritmo essencialmente criaria três funções de classificação binária:

  • f0(x) = P(y=0 | x)
  • f1(x) = P(y=1 | x)
  • f2(x) = P(y=2 | x)

Cada algoritmo produz uma função sigmóide que calcula um valor de probabilidade entre 0,0 e 1,0. Um modelo treinado usando esse tipo de algoritmo prevê a classe para a função que produz a saída de probabilidade mais alta.

Algoritmos multinomiais

Como uma abordagem alternativa é usar um algoritmo multinomial, que cria uma única função que retorna uma saída com vários valores. A saída é um vetor (uma matriz de valores) que contém a distribuição de probabilidade para todas as classes possíveis - com uma pontuação de probabilidade para cada classe que, quando totalizado, soma 1,0:

f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]

Um exemplo desse tipo de função é uma função softmax , que pode produzir uma saída como o exemplo a seguir:

[0.2, 0.3, 0.5]

Os elementos no vetor representam as probabilidades para as classes 0, 1 e 2, respectivamente; portanto, nesse caso, a classe com a maior probabilidade é 2.

Independentemente de qual tipo de algoritmo é usado, o modelo usa a função resultante para determinar a classe mais provável para um determinado conjunto de recursos (x) e prevê o rótulo de classe correspondente (y).

Avaliando um modelo de classificação multiclasse

Você pode avaliar um classificador multiclasse calculando as métricas de classificação binária para cada classe individual. Como alternativa, você pode calcular métricas de agregação que levam todas as classes em conta.

Vamos supor que validamos nosso classificador multiclasse e obtivemos os seguintes resultados:

Comprimento da nadadeira (x) Espécies atuais (y) Espécies previstas (ŷ)
165 0 0
171 0 0
205 2 1
195 1 1
183 1 1
221 2 2
214 2 2

A matriz de confusão para um classificador multiclasse é semelhante à de um classificador binário, exceto que mostra o número de previsões para cada combinação de rótulos de classe preditos (ŷ) e reais (y).

Diagrama de uma matriz de confusão de várias classes.

Nessa matriz de confusão, podemos determinar as métricas para cada classe individual da seguinte maneira:

Classe Verdadeiro Positivo Verdadeiro Negativo Falso Positivo Falso Negativo Exatidão Recall Precisão Medida f
0 2 5 0 0 1,0 1,0 1,0 1,0
1 2 4 1 0 0,86 1,0 0,67 0,8
2 2 4 0 1 0,86 0,67 1,0 0,8

Para calcular a precisão geral, o recall e as métricas de precisão, use o total das métricas TP, TN, FP e FN :

  • Precisão geral = (13+6)÷(13+6+1+1) = 0,90
  • Recall geral = 6÷(6+1) = 0,86
  • Precisão geral = 6÷(6+1) = 0,86

A medida f geral é calculada utilizando as métricas de recall e precisão gerais:

  • Pontuação geral de F1 = (2x0,86x0,86)÷(0,86+0,86) = 0,86