Classificação MultiLabel

Daniel Sousa Amador
4 min readJan 26, 2021

--

Photo by Javier Allegue Barros on Unsplash

Em uma classificação, normalmente seguimos um caminho apenas. Treinamos algum algoritmo para que ele tente nos retornar a qual classe acha que determinado dado pertence. Além disso o que ele pode nos retornar é a probabilidade de ser de determinada classe ou não, porém sempre será retornada a classe com maior probabilidade como resultado da previsão.

Mas quando precisamos mudar esse caminho? Quando precisamos decidir além da classificação binária (Sobrevive ao desastre do Titanic ou Não, por exemplo) e da Multi Classe (Iris Versicolor, Virginica ou Setosa, por exemplo), o que fazer? Se houvesse a possibilidade de alguém sobreviver e não sobreviver ou de uma flor ser, por exemplo Versicolor e Virginica, ao mesmo tempo?

Talvez seja difícil pensar que esse tipo de cenário existe e caso exista, que a gente possa se deparar com ele, correto?! Mas vamos pensar no seguinte cenário: Em uma classificador de músicas, no Spotify, por exemplo, preciso saber se determinada música é, não apenas alegre, mas se ela também é relaxante, ou se determinada música é melancólica e depressiva etc. Então dentro desse cenário, parece fazer sentido pensar em classificar músicas em mais de um modo, correto? É isso que iremos fazer agora.

Você pode acessar o notebook com código exemplificativo aqui.

As técnicas para se classificar mais de uma classe por dado são basicamente duas, a Transformação do Problema e a utilização de Algoritmos Adaptados. Os algoritmos adaptados iremos apenas mostrar no exemplo, por ter a mesma função do algoritmo comum e não mudar em nada sua implementação, apenas seu uso.

Vamos nos ater à Transformação de Problema e às Métricas de Avaliação.

Técnicas

1.Binary Relevance

Faz uma classificação independente para cada classe. No caso da classificação de uma música primeiro classifica se é agitada, depois se é alegre, depois se é triste e dai em diante, todas de forma independente.

2. Classifier Chains

Faz basicamente o mesmo que o Binary Relevance, contudo se diferencia ao invés de fazer a classificação de forma independente, utilizar cada previsão já feita como nova feature para a seguinte (além de, normalmente ter um melhor desempenho que o Binary Relevance). Desse modo, se classifica uma música como agitada ou não, esse resultado será uma nova feature para classificar se é alegre ou não. Após a nova previsão, alegre será uma feature juntamente com agitada para classificar se é triste ou não e dai em diante.

3. Label PowerSet

É diferente das demais técnicas e tem seu foco em criar classes similares (espécie de clusters) para as features que têm a mesma combinação e transforma em um único label. No exemplo abaixo a primeira e segunda linha têm exatamente as mesmas características, logo serão transformadas em uma mesma feature e o algoritmo reconhece esse grupos, por isso coloca a “classificação” para cada grupo e os transforma em um só.

Métricas de Avaliação

1. Exact Match

Só considerará que o algoritmo acertou se toda a combinação for igual.

Veja no exemplo abaixo que as previsões corretas (vermelhas) são aquelas em que acertaram exatamente o que tinha no conjunto de testes.

Essa métrica não é muito boa quando estamos utilizando Classificação MultiLabel.

2. Hamming Loss

Também conhecida como Hamming Distance, é a métrica mais utilizada nesse tipo de classificação.

Sua utilização é simples, busca a quantidade de posições diferentes em cada dado, ou seja, busca o erro e após isso soma todos os erros e divide pela quantidade de labels.

A função é simples: Somatório dos Erros/Nº de Labels e quanto mais próximo de zero, melhor.

Veja no exemplo abaixo:

Veja que o total de erro é o igual a 4 (1 + 2+ 1) e a quantidade de labels é igual a 20 (5 linhas x 4 colunas), logo se a fórmula é Somatório dos Erros/Nº de Labels temos 4/20 = 0.2.

Acesse também:

Referências:

Formação Cientista de Dados II: Tópicos Avançados, 2020. Disponível em: <https://www.udemy.com/course/formacao-cientista-de-dadosii/>. Acesso em: 26 de janeiro de 2021.

--

--

Daniel Sousa Amador

Cientista de dados buscando soluções baseadas em dados diariamente!