Встречается на собеседованиях • сегодня
Как решаешь проблему сильного дисбаланса данных для мультиклассовой классификации
Для борьбы с дисбалансом в мультиклассовой классификации применяют несколько подходов:
- Взвешивание классов - задаем веса классов обратно пропорционально их частоте:
python
class_weights = compute_class_weight('balanced', classes=np.unique(y), y=y)
model = RandomForestClassifier(class_weight=class_weights)-
Сэмплирование:
- Oversampling (SMOTE для мультикласса)
- Undersampling (Tomek links, ClusterCentroids)
-
Метрики - используем F1-score (macro/micro) вместо accuracy:
python
from sklearn.metrics import f1_score
f1_score(y_true, y_pred, average='macro')-
Ансамбли - например, BalancedRandomForestClassifier
-
Стоимость ошибки - вводим разную стоимость ошибок для разных классов
Важно тестировать комбинации методов и оценивать на кросс-валидации, так как oversampling может привести к переобучению. Для мультикласса особенно эффективен SMOTE-NC (для категориальных признаков) или ADASYN.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы