vitalwarley / research

3 stars 0 forks source link

Analisar erros do SOTA2021 #37

Open vitalwarley opened 1 year ago

vitalwarley commented 1 year ago

Modelo: https://drive.google.com/drive/u/1/folders/1Hgrj5_3vWGJASKTbCU8qHgiRpdpYyWnW

Você vai usar o modelo acima em um notebook adaptado de rfiw2021/Track1/test.py. Use threshold=0.11546290665864944.

Deve-se usar as estimativas de idade e gênero, tal como foi feito na #36, para avaliar a distribuição dos erros do modelo nos conjuntos de validação e teste. Por agora deve-se avaliar qual a distribuição de age_diff para os falsos positivos e falsos negativos, para cada tipo de parentesco. Espera-se que o modelo, por exemplo, erre mais em pares cuja diferença de idade seja menos provável (e.g., fs com age_diff < 10).

Qualquer dificuldade pode comentar aqui!

vitalwarley commented 1 year ago

@matheuslevi11, como tá indo aí? Algum progresso? Fala-me qualquer dificuldade em que eu possa ajudar!

matheuslevi11 commented 1 year ago

Reproduzi o conteúdo do rfiw2021/Track1/test.py num notebook que eu subi no commit acima. Aí o que ele faz é ler a base da dados de teste, realizar predições e salvar a acurácia. Preciso adaptar ele pra salvar as predições numa tabela, pra ter as outras informações como idade, pra calcular age_diff e analisar depois, certo?

vitalwarley commented 1 year ago

Reproduzi o conteúdo do rfiw2021/Track1/test.py num notebook que eu subi no commit acima. Aí o que ele faz é ler a base da dados de teste, realizar predições e salvar a acurácia. Preciso adaptar ele pra salvar as predições numa tabela, pra ter as outras informações como idade, pra calcular age_diff e analisar depois, certo?

Excelente, @matheuslevi11. É isso msm. Nessa tabela vamos ter as informações para indivíduo do par e sobre o par em si: idade, gênero, parentesco, diferença de idade, bem como a similaridade obtida para o par. Ao fim queremos avaliar como os erros são distribuídos. Por exemplo, há uma correlação na diferença de idade e gênero e acurácia para um dado par? Entre outras questões.

matheuslevi11 commented 1 year ago

Iniciei a análise dos erros do modelo e subi uma atualização no notebook com algumas analises iniciais. Um gráfico interessante é este, comparando a média da diferença de idade entre os falsos positivos e os verdadeiros positivos, onde é possível observar que a média dos verdadeiros positivos de irmãos em geral ( bb, ss, sibs ) é praticamente metade da média dos falsos positivos. Quanto a diferença grande em gfgs, eu atribuo a baixa quantidade de amostras.

image

vitalwarley commented 1 year ago

Excelente, @matheuslevi11. Podemos realmente ver que a diferença de idade, em alguns casos, tem a ser mais presente. Você usou condensou validação e teste? Faz o seguinte, agora. Dado que a distribuição do delta não é necessariamente normal, plota a distribuição do delta para cada tipo de predição: verdadeiro positivo, verdadeiro negativo, falso positivo, falso negativo. Repete o processo para cada set (val, test).

matheuslevi11 commented 1 year ago

A distribuição do delta pode ser visualizada no gráfico abaixo. Para cada tipo de predição, temos uma distribuição diferente, a mesma tendência pode ser observada na base de validação, em que a única diferença menos sutil se dá nos falsos negativos.

Base de teste

image

Base de validação

image

Visualizando a distribuição por tipo de parentesco para os falsos positivos ( falsos negativos apresentaram resultados similares ), é possível notar que a maioria dos tipos de parentesco possuem uma faixa de valores para a diferença de idade abrangente, com exceção de siblings e sister-sister, que possuem uma faixa mais restrita, porém com muitos outliers.

image

vitalwarley commented 1 year ago
vitalwarley commented 9 months ago

@matheuslevi11, tu teve algum progresso nessa última task? Tô com umas ideias e queria avaliar quanto a diferença de idade contribue para o erro final (e.g. pares com bebês são fáceis ou difíceis?). No boxplot acima temos dados interessantes para Falsos Positivos. Seria bom termos para os demais. Além disso, outros gráficos que mostrassem a distribuição dos erros em função do age_diff para cada parentesco (acima temos uma contagem, mas uma porcentagem relativa ao total dos dados é mais informativa). Mantenha a avaliação apenas na base de validação mesmo. Analisar a base de teste é uma forma de vazamento de dados, o que prejudica nossa investigação.