Buena pregunta: hay dos formas:
(1) obtenga la precisión y el recuerdo de cada clase y promedio, como usted dijo.
(2) obtenga la precisión y el recuerdo de cada clase, y el peso por el número de instancias de cada clase. Eso le dará la precisión ponderada y el recuerdo.
Entonces, si tiene dos clases, la precisión ponderada sería:
[matemática] weighted_p = \ frac {(p_ {c1} * | c1 |) + (p_ {c2} * | c2 |)} {| c1 | + | c2 |} [/ matemáticas]
- ¿Qué significa la afluencia de IA y Machine Learning en productos tecnológicos para los diseñadores de UX?
- ¿Cuál es la explicación detallada de Autoencoder apilado (Denoising)?
- ¿Es bueno hacer un muestreo estratificado para la regresión cuando se le da con grandes conjuntos de datos?
- ¿Cuáles son las mejores marcas de CPU y GPU para el aprendizaje automático?
- ¿Cómo se puede hacer la experimentación de aprendizaje profundo en una PC en casa?
Donde [math] p_ {c1} [/ math] y [math] p_ {c2} [/ math] son las precisiones para la clase 1 y la clase 2, y [math] | c1 | [/ math] y [math] | c2 | [/ math] es el número de instancias en la clase 1 y la clase 2.
La ponderación por frecuencia de clase puede darle una mejor estimación del rendimiento general, ya que las frecuencias de clase pueden ser muy diferentes, y solo calcular un promedio ingenuo hará que parezca que cada clase es igualmente importante.
Tenga en cuenta que la puntuación f1: [matemática] 2 * \ frac {p * r} {p + r} [/ matemática] probablemente tenga sentido para su problema, ya que le importan tanto la precisión como el recuerdo.
Ver [1] para una implementación en Python de los puntajes de F1 ponderados, no ponderados y por clase con todas las campanas y silbatos.
[1] sklearn.metrics.f1_score – documentación de scikit-learn 0.15.2