1
resposta

Porque quando vamos medir a accuracy não precisamos passar o parametro 'evaluator.metricLabel'?l

Olá!

Bom, não sei se fui só eu que não entendi essa parte ou pelo menos não consegui encontrar no video onde explica o porque de utilizar um 2 parametro no dicionário dentro do evaluate. (código abaixo):

print("Acurácia: %f" % evaluator.evaluate(previsoes_dtc_treino, {evaluator.metricName: "accuracy"}))
print("Precisão: %f" % evaluator.evaluate(previsoes_dtc_treino, {evaluator.metricName: "precisionByLabel", evaluator.metricLabel: 1}))
print("Recall: %f" % evaluator.evaluate(previsoes_dtc_treino, {evaluator.metricName: "recallByLabel", evaluator.metricLabel: 1}))
print("F1: %f" % evaluator.evaluate(previsoes_dtc_treino, {evaluator.metricName: "fMeasureByLabel", evaluator.metricLabel: 1}))

Quando vamos calcular a accuracy não colocamos o segundo parâmetro ('evaluator.metricLabel') dentro do dicionário do método evaluate, porque? Também não encontrei a parte onde explica a utilização desse parâmetro para as demais metricas, no video que assisti pelo menos só fala que deixou um código pronto e que iria colar para economizar tempo, todavia não teve a utilização desse parâmetro em outra ocasião, pelo menos que eu tenha visto.

Poderia me explicar ou indicar materias (além da documentação) para o entendimento desse citado acima?

Muito obrigado.

1 resposta

Olá Thales, tudo bem ? Espero que sim.

Peço desculpa pela demora na resposta.

A necessidade desse parâmetro é porque estamos utilizando o MulticlassClassificationEvaluator que consegue avaliar modelos que trabalham com varias classes, exemplo: 0, 1, 2 e 3., Então por conta dessa característica algumas métricas são calculadas de forma relativa, por exemplo a precisão que é a divisão entrei o verdadeiros positivos por todos os positivos, no multiclass quais seriam os verdadeiros positivos ? Os que são da classe 1 ou os da classe 2 ? precisamos tomar essa decisão e informar o MulticlassClassificationEvaluator, como no nosso caso só temos as classes 1 e 0, a escolha fica mais simples, mas em casos de várias classes essas métricas vão variar.

Temos dois ótimos conteúdos que vão se aprofundar em como funcionam as métricas de classificação, recomendo que assista os dois e assim vai conseguir entender melhor como essas métricas são calculadas:

Espero ter ajudado a esclarecer e qualquer duvida não hesite em perguntar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software