Open vitalwarley opened 1 year ago
@matheuslevi11, como tá indo aí? Algum progresso? Fala-me qualquer dificuldade em que eu possa ajudar!
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?
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.
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.
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).
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.
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.
age_diff
TP, TN, FP, FN para cada tipo de parentesco@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.
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
. Usethreshold=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 comage_diff < 10
).Qualquer dificuldade pode comentar aqui!