Sobes.tech
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.