Soy un principiante en el aprendizaje automático y me enfrento a una situación. Estoy trabajando en un problema de oferta en tiempo real, con el conjunto de datos IPinYou y estoy tratando de hacer una predicción de clics.
El hecho es que, como ya sabrá, el conjunto de datos está muy desequilibrado: alrededor de 1300 ejemplos negativos (sin clic) para 1 ejemplo positivo (clic).
Esto es lo que hago:
- Cargar los datos
- Divida el conjunto de datos en 3 conjuntos de datos: A = Entrenamiento (60%) B = Validación (20%) C = Prueba (20%)
- Para cada conjunto de datos (A, B, C), realice un submuestreo en cada clase negativa para tener una relación de 5 (5 ejemplos negativos para 1 ejemplo positivo). Esto me da 3 nuevos conjuntos de datos que están más equilibrados: A 'B' C '
Luego entreno mi modelo con el conjunto de datos A 'y la regresión logística.
Mi pregunta es:
¿Qué conjunto de datos debo usar para la validación? B o B '?
¿Qué conjunto de datos debo usar para las pruebas? C o C '
¿Qué métricas son las más relevantes para evaluar mi modelo? F1Score parece ser una métrica bien utilizada. Pero aquí, debido a la clase desequilibrada (si uso los conjuntos de datos B y C), la precisión es baja (por debajo de 0.20) y el F1Score está muy influenciado por la baja memoria / precisión. ¿Sería más preciso usar aucPR o aucROC?
Si quiero trazar la curva de aprendizaje, ¿qué métricas debo usar? (sabiendo que el% de error no es relevante si uso el conjunto de datos B 'para validar)
Gracias de antemano por tu tiempo !
Saludos.
fuente
Para
1)
y2)
quieresEntonces, para esos conjuntos de datos, no debería necesitar equilibrar las clases.
También puede intentar usar ponderaciones de clase en lugar de submuestreo / sobremuestreo, ya que esto se encarga de esta decisión por usted.
Por
3)
lo más probable desea optimizar el uso de cualquier métrica se le califica en (si se trata de una competición). Pero si eso no es una consideración, todos esos modelos son buenas opciones. F1 puede verse influenciado por la baja precisión, pero desea que se capture. Es precisamente cuando los modelos ingenuos (como adivinar la clase mayoritaria) pueden obtener buenos puntajes según algunas métricas que puntajes como F1 son relevantes.En cuanto a que
4)
no hay nada de malo en mostrar cualquier métrica que termine optimizando.fuente
Debe probar su clasificador en un conjunto de datos que represente por qué se usará. Lo mejor suele ser la distribución no modificada.
Durante el aprendizaje, modifique el conjunto de datos de cualquier manera que lo ayude.
Para obtener más información, consulte ¿Debo elegir un conjunto de datos 'equilibrado' o un conjunto de datos 'representativo'?
fuente