Depende del algoritmo que esté utilizando y de la métrica para la que esté intentando optimizar.
Si está tratando de optimizar la pérdida de 0-1 y los datos están extremadamente desequilibrados, entonces adivinar la clase más común es una estrategia difícil de superar. Por lo tanto, no querrá reequilibrar los datos en ese escenario.
Si está tratando de optimizar algo más sofisticado como ROC-AUC, entonces debe evitar que el clasificador simplemente se convierta en la clase más común. La mejor manera de hacerlo depende del tipo de clasificador.
- ¿Dónde puedo encontrar conjuntos de datos para aprender autocorrección o corrección ortográfica?
- ¿Qué tan importante es el aprendizaje profundo en la conducción autónoma?
- ¿Cuáles son las mejores startups que usan ciencia de datos y aprendizaje automático para el bien social?
- ¿Es una buena idea dejar el aprendizaje automático después de 2 años y estudiar desarrollo web, si me di cuenta de que no soy tan inteligente para todas esas matemáticas de ML?
- ¿Qué te sorprendió después de ver algo relacionado con el aprendizaje automático, la IA, la PNL o la visión por computadora?
En mi experiencia, volver a pesar la función de pérdida tiende a funcionar mejor para clasificadores lineales como SGD en ese caso.
Los bosques aleatorios son extremadamente sensibles al desequilibrio de clase y siempre vuelvo a equilibrar. No he encontrado que volver a pesar sea efectivo. Submuestrear la clase común produce mejores resultados que sobremuestrear la clase poco común. Si su implementación de RF lo admite y los datos de capacitación son escasos, es mejor realizar un submuestreo a nivel de árbol individual: entrenar en todo el conjunto de datos no balanceados, pero tomar una muestra equilibrada para entrenar cada árbol. El paquete randomForest estándar para R es el único paquete RF de código abierto que conozco que admite esto.