Machine Learning – Classificação Multiclasse no Excel

Olá pessoal! Sejam bem vindos ao meu novo artigo!

Neste artigo irei descrever uma das técnicas de Machine Learning chamada Classificação Multiclasse e suas métricas de avaliação, estas métricas são fundamentais para avaliar se os dados coletados estão com bons resultados e como podemos melhorá-los.

Vamos para o exemplo, temos uma máquina onde é coletado Letras/Status informando um dos quatro parâmetros, que são eles A,B,C,D, com isto iremos coletar 230 amostras dos sensores recebendo parâmetros e iremos avaliar se está correto ou não a classificação.

Com os parâmetros iremos criar a "Matriz de Confusão", e após a coleta das amostras gerou abaixo o seguinte resultado:

Machine Learning - Classificação Multiclasse no Excel

Um exemplo da coleta da informação da máquina foi o sistema recebeu o parâmetro "B" mas foi classificado como "A", gerando o erro e com isso catalogando a quantidade de acertos e não acertos

Para isso são criadas 4 status para essa técnica, que são elas

  • True positive (TP) : significa uma classificação correta da classe positiva. Onde o sistema conseguiu acertar o status corretamente.
Machine Learning - Classificação Multiclasse no Excel
  • True negative (TN): significa uma classificação correta da classe negativa. Considerando o status "A", o TN é a soma do restante não pertencente ao "A".
Machine Learning - Classificação Multiclasse no Excel
  • False positive (FP) : significa uma classificação errada da classe positiva. Considerando o status "A", o FP será os valores não acertados na parte vertical correspondente ao seu status da Matriz de Confusão.
Machine Learning - Classificação Multiclasse no Excel
  • False negative (FN) : significa uma classificação errada da classe negativa. Considerando o status "A", o FP será os valores não acertados na parte horizontal correspondente ao seu status da Matriz de Confusão.
Machine Learning - Classificação Multiclasse no Excel

Após estas definições precisamos realizar os cálculos no MS Excel que segue abaixo:

Machine Learning - Classificação Multiclasse no Excel

TP - True Positive - Coluna K

=SE(A2="";"";SEERRO(DESLOC($A$1;CORRESP($A2;$A$2:$A$5;0);CORRESP($A2;$B$1:$E$1;0));""))

ou em inglês

=IF(A2="";"";IFERROR(OFFSET($A$1;MATCH($A2;$A$2:$A$5;0);MATCH($A2;$B$1:$E$1;0));""))

FP - False Positive - Coluna L

 =SE(A2="";"";SEERRO(SOMA(DESLOC($A$1;1;CORRESP($A2;$1:$1;0)-1;CONT.VALORES($A:$A);1))-K3;""))

ou em inglês

 =IF(A2="";"";IFERROR(SUM(OFFSET($A$1;1;MATCH($A2;$1:$1;0)-1;COUNTA($A:$A);1))-K3;""))

FN - False Negative - Coluna M

 =SE(A2="";"";SEERRO(SOMA(B2:H2)-K3;""))

ou em inglês

 =IF(A2="";"";IFERROR(SUM(B2:H2)-K3;""))

TN - True Negative - Coluna N

 =SE(J3="";"";SOMA($B$2:$H$18)-SOMA(K3:M3))

ou em inglês

 =IF(J3="";"";SUM($B$2:$H$18)-SUM(K3:M3))

Após as definições, vamos as métricas Accuracy (Acurácia), Error Rate (Taxa de Erro), Precision (Precisão), Recall (Revocação-Sensibilidade) e F1-score (medida F).

Accuracy - Acurácia - Coluna O

Esta métrica é um classificador que mede a quantidade de acertos sobre o todo. Podendo afirmar que é o percentual de instâncias classificadas corretamente.

=SE(J3="";"";(K3+N3)/(K3+M3+L3+N3))

ou em inglês

=IF(J3="";"";(K3+N3)/(K3+M3+L3+N3))

Error Rate - Taxa de Erro - Coluna P

Esta métrica verifica se o erro está alto ou baixo, podendo descartar toda a amostragem avaliada, ou informar se a algum erro na coleta dos dados.

=SE(J3="";"";(L3+M3)/(K3+M3+L3+N3))

ou em inglês

=IF(J3="";"";(L3+M3)/(K3+M3+L3+N3))

Precision - Precisão - Coluna Q

Esta métrica verifica o número de vezes que uma classe foi predita corretamente sobre o falso positivo.

=SE(A2="";"";SEERRO(K3/(K3+L3);""))

ou em inglês

=IF(A2="";"";IFERROR(K3/(K3+L3);""))

Recall - Revocação - Coluna R

Esta métrica verifica o número de vezes que uma classe foi predita corretamente sobre o falso negativo.

=SE(A2="";"";SEERRO(K3/(K3+L3);""))

ou em inglês

=IF(A2="";"";IFERROR(K3/(K3+L3);""))

Após os valores individuais calculados, será necessário obter a média destas métricas, onde estão nas células O1 até a R1, que segue abaixo a fórmula:

=MÉDIA(O3:O30)

ou em inglês

=AVERAGE(O3:O30)

Com todos os valores cálculados podemos calcular os índices da Acurácia Total e do F1 Score (Medida F)

Overall Accuracy - Acurácia Total - Célula U2

=SOMA(ÍNDICE((DESLOC($A$1;1;1;CONT.VALORES($A:$A);CONT.VALORES($A:$A)))*(DESLOC($A$1;0;1;1;CONT.VALORES($A:$A))=DESLOC($A$1;1;0;CONT.VALORES($A:$A);1));0))/SOMA(DESLOC($A$1;1;1;CONT.VALORES($A:$A);CONT.VALORES($A:$A)))

ou em inglês

=SUM(INDEX((OFFSET($A$1;1;1;COUNTA($A:$A);COUNTA($A:$A)))*(OFFSET($A$1;0;1;1;COUNTA($A:$A))=OFFSET($A$1;1;0;COUNTA($A:$A);1));0))/SUM(OFFSET($A$1;1;1;COUNTA($A:$A);COUNTA($A:$A)))

F1 Score - Fator F quando beta = 0,5 - Célula U4

Com esta métrica informa o desempenho das amostras.

=2*(Q1*R1)/(Q1+R1)

Quando é necessário alterar o Beta para deixar mais "preciso" o modelo deverá utilizar a fórmula abaixo que segue na célula U7

=1/(U6*(1/Q1)+(1-U6)*(1/R1))

Espero que tenha gostado desse artigo!

Caso tenha alguma sugestão de outra técnica, poste aqui nos comentários.

Se gostou, curta e compartilhe este artigo para que todos saibam o que é possível fazer dentro do Excel.

Caso este artigo tenha mais de 100 compartilhamentos ou curtidas no Linkedin, irei disponibilizar o link do arquivo gratuitamente.

Abraços a todos e até o próximo artigo!

Fabio BALDINI

Frase do Dia: "Você só é limitado por sua própria Imaginação." Autor: Loraine Wagner

OBS: Quero agradecer imensamente ao Grande Mestre e Amigão Alessandro Trovato pelas eternas revisões dos artigo para que sempre fique esmero. Obrigadão grande Mestre!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *