Sou iniciante em aprendizado de máquina e estou enfrentando uma situação. Estou trabalhando em um problema de lances em tempo real, com o conjunto de dados IPinYou e estou tentando fazer uma previsão de cliques.
O fato é que, como você deve saber, o conjunto de dados é muito desequilibrado: cerca de 1300 exemplos negativos (sem clique) para 1 exemplo positivo (clique).
Isto é o que eu faço:
- Carregar os dados
- Divida o conjunto de dados em três conjuntos de dados: A = Treinamento (60%) B = Validando (20%) C = Teste (20%)
- Para cada conjunto de dados (A, B, C), faça uma subamostragem em cada classe negativa para ter uma proporção de 5 (5 exemplos negativos para 1 exemplo positivo). Isso me deu três novos conjuntos de dados mais equilibrados: A 'B' C '
Em seguida, treino meu modelo com o conjunto de dados A 'e a regressão logística.
Minha pergunta é:
Qual conjunto de dados eu tenho que usar para validação? B ou B '?
Qual conjunto de dados eu tenho que usar para testar? C ou C '
Quais métricas são as mais relevantes para avaliar meu modelo? O F1Score parece ser uma métrica bem usada. Mas aqui, devido à classe desequilibrada (se eu usar os conjuntos de dados B e C), a precisão é baixa (abaixo de 0,20) e o F1Score é muito influenciado por baixa recuperação / precisão. Seria mais preciso usar aucPR ou aucROC?
Se eu quiser traçar a curva de aprendizado, quais métricas devo usar? (sabendo que o erro% não é relevante se eu usar o conjunto de dados B 'para validar)
Agradeço antecipadamente pelo seu tempo !
Saudações.