O conjunto de dados que será analisado possui multirótulos para seus exemplos e cada um desses rótulos, pode ter mais de 2 valores, ou seja, as classes não são binárias. Logo, este conjunto de dados tem mais de uma coluna alvo, tendo portanto multi-saídas.
Após a contextualização de como é o formato do dataset, pode-se explicar quais são as informações que o conjunto tem.
Segundo o SBH em 2005, o Brasil abriga a maior riqueza de Anuros do planeta, com 747 espécies, só no estado de São Paulo, mais de 180 espécies de Anuros estão registradas. Anuros são caracterizados por terem cauda ausente e pernas curtas, adaptadas para saltar e nadar. Eles são animais geralmente terrestres, mas alguns grupos vivem em ambientes aquáticos.
O dataset que será analisado é derivado das gravações realizadas sobre o "cantar" de vários anfíbios da ordem dos Anuros. Para se obter uma boa especificação de qual animal é o responsável pelo ruído, é armazenado no conjunto a sua Família, Gênero e Espécie (3 atributos classe). Dito isso, cada exemplo de entrada é derivado de um Anuro específico. Logo, o objetivo deste trabalho é tentar descobrir pelo ruído que o animal produz, qual sua Família, Gênero e Espécie. É importante salientar que o conjunto de dados disponibilizado para uso não está em formato de aúdio, pois após a captura dos áudios os pesquisadores extraíram informações que são transformadas em atributos numéricos.
Os anfíbios da ordem Anura que destacam-se são: sapos, rãs e pererecas, um exemplo deste animal pode ser visualizado abaixo
O conjunto de dados pode ser obtido no seguinte link: https://archive.ics.uci.edu/ml/datasets/Anuran+Calls+%28MFCCs%29#
Como podemos ver, os conjunto de dados tem 7195 exemplos com 26 atributos, sendo 3 deles as possíveis classes do exemplo Deve-se atentar que como se trata de um problema de multirrótulo, é possível que um exemplo pertença a mais de uma classe.
O que está tentando se classificar é o seguinte:
Family: A Família do animal
Genus: O Genêro do animal
Species: A Espécie do animal
Esses 3 atributos devem ser classificados, sendo assim o problema é multi-classe, mas como essas classes possuem uma relação de hierarquia entre si, o problema se torna útil para ser enfrentado utilizando classificação hierárquica. Na imagem abaixo, podemos compreender como funciona esta relação
A maioria dos atributos preditivios, ou seja, aqueles que serão usadaos para predizer o atributo alvo não eram tão facilmente explicativo, pois como o conjunto de dados era derivado de áudio, então os atributos também foram gerados a partir do áudio, e desta maneira, representam intensidades sonoras no momento específico do auido que foi dividido em mais de 20 separações.
Logo, o que resta é apenas analisar as classes e como elas estão dispsotas.
Após isso, foi realizado um breve processamento para deixar os valores em boa forma para serem utilizados no modelo. Além disso, no conjunto de treino e teste que eram referentes as classes foi realizado um One-Hot-Encoding.
Na classificação hierárquica é possível trabalhar com o problema de algumas formas. Neste trabalho será entendido três delas: Classificação Plana, Abordagem Global e Abordagem Local
Cada tipo de abordagem influencia no resultado de uma maneira
Estas abordagens podem ser melhor compreendidas em [1]
[1] CN Silla et al., "A survey of hierarchical classification across different application domains", 2011.
Para avaliar os modelos construídos algumas técnicas de avaliação serão utilizadas Para a Classificação Plana serão calculados a: Perda de Hamming, Acurácia, Recall e F1-Score. Abaixo, pode-se visualizar como calcular cada uma dessas métricas
Já para a classificação hierárquica utilizando a abordagem global/local, serão calculados o recall, precision e o f1-score. Abaixo, pode-se visualizar como calcular cada uma dessas métricas
Esta abordagem consiste em ignorar a hierarquia entre as classes e tratar o problema como um problema multirrótulo. Assim, o classificador só prevê a classe nos nós folhas. Esta abordagem não se importa com hierarquia, e dessa maneira é uma solução indireta para este problema.
Esta abordagem utiliza um classificador local para cada "parte" da hierarquia, e com isso é possível utilizar informações locais das classes com o intuito de melhorar o resultado. Como é uma abordagem Top-Down, o teste começa pelas classes mais genéricas e desce para as mais especializadas. Dentro dessa abordagem podemos utilizar 3 métodos diferentes: Classificador Local por Nó, Classificador Local por Nó Pai, Classificador Local por Nível
Todas as estratégias estão descritas no notebook.
No notebook uma comparação entre os resultados está descrita. Uma visão mais geral pode ser verificada aqui:
Abordagem Local - Classificação Por Nível
Abordagem Local - Local por Nó Pai