1) ¿Cómo puedo cambiar el umbral de clasificación (creo que es 0.5 por defecto) en RandomForest en sklearn?
2) ¿cómo puedo submuestrear en sklearn?
3) Tengo el siguiente resultado del clasificador RandomForest: [[1635 1297] [520 3624]]
precision recall f1-score support
class 0 0.76 0.56 0.64 2932
class 1 0.74 0.87 0.80 4144
promedio / total 0,75 0,74 0,73 7076
primero, los datos no están balanceados (30% de la clase 0 y 70% de la clase 1). Entonces, creo que es más probable que el clasificador esté sesgado para la clase 1, lo que significa mover algunos de la clase 0 a la clase 1 (hay 1297 clasificaciones erróneas para la clase 0 pero 520 clasificaciones erróneas para la clase 1). ¿Cómo puedo arreglar esto? si la disminución de resolución puede ayudar? o cambiando el umbral de clasificación?
Actualización: la clase 0 tiene el 40% de la población, mientras que la clase 1 es el 60%. Sin embargo, la deriva de la clase 0 a la clase 1 (1297) es alta, mientras que quiero que sea baja.
fuente
sample_weight
parámetro (un peso por parámetro) que es muy flexible y permite simularclass_weight
(un peso por clase objetivo).y
? ¿Por qué tienes diferenteY
yy
?