Junior — Middle
Ce este dezechilibrul claselor și cum îl combatem?
sobes.tech AI
Răspuns de la AI
Dezealnirea claselor este o situație într-o problemă de clasificare în care numărul de obiecte ale unei clase depășește semnificativ numărul obiectelor din altă (sau alte) clase. Acest lucru duce la faptul că modelul poate recunoaște slab clasele mai puțin reprezentate, deoarece tinde să se optimizeze pentru majoritate.
Modalități de combatere a dezechilibrului claselor:
- Re-eșantionare: creșterea numărului de obiecte ale clasei mai mici (oversampling) sau reducerea numărului de obiecte ale clasei mai mari (undersampling).
- Utilizarea unor metrici speciale: de exemplu, F1-score, ROC-AUC în loc de acuratețea simplă.
- Aplicarea algoritmilor rezistenți la dezechilibru: de exemplu, ansambluri, metode cu ponderare a claselor.
- Generarea de date sintetice: metode precum SMOTE creează noi obiecte pentru clasa mai mică.
Exemplu de utilizare SMOTE:
from imblearn.over_sampling import SMOTE
X_resampled, y_resampled = SMOTE().fit_resample(X, y)
Aceasta ajută la îmbunătățirea calității modelului pe clasele rare.