Junior — Middle
Mi az osztálykiegyensúlyozatlanság és hogyan küzdjünk ellene?
sobes.tech MI
Válasz az MI-től
Az osztályok kiegyensúlyozatlansága egy olyan helyzet a osztályozási problémában, amikor egy osztály objektumainak száma jelentősen meghaladja egy másik (vagy más) osztályok objektumainak számát. Ez ahhoz vezet, hogy a modell rosszul ismerheti fel a kevésbé képviselt osztályokat, mivel hajlamos a többséghez igazodni.
Az osztályok kiegyensúlyozatlanságának elleni módszerek:
- Újramintavételezés: a kisebb osztály objektumainak számának növelése (oversampling) vagy a nagyobb osztály objektumainak számának csökkentése (undersampling).
- Speciális metrikák használata: például F1-score, ROC-AUC a egyszerű pontosság helyett.
- Az egyensúlyhiányt ellenálló algoritmusok alkalmazása: például, ensemble, súlyozott osztálymódszerek.
- Szintetikus adatok generálása: olyan módszerek, mint a SMOTE, új objektumokat hoznak létre a kisebb osztály számára.
SMOTE alkalmazási példa:
from imblearn.over_sampling import SMOTE
X_resampled, y_resampled = SMOTE().fit_resample(X, y)
Ez segít javítani a modell minőségét ritka osztályok esetén.