24 / 25
Как бороться с несбалансированными классами: oversampling, undersampling, SMOTE, class_weight?
Несбалансированные классы (например, 1:1000 в антифроде) ломают accuracy-метрику: модель предсказывает мажоритарный класс и получает 99.9% accuracy при recall миноритарного ≈ 0. Решения по возрастанию сложности: (1) сменить метрику на PR-AUC или F-beta; (2) class_weight='balanced' — взвесить loss как n / (k · count(class)); (3) oversampling/undersampling мажоритарного или миноритарного класса; (4) SMOTE — синтез новых миноритарных точек интерполяцией между k ближайших соседей. SMOTE применяется только на train, внутри imblearn.pipeline.Pipeline, иначе утечка в test.