Multi-label classification на собеседовании Data Scientist
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Multi-class vs multi-label
Multi-class. One label из N. Mutually exclusive. Softmax.
Image → "cat" OR "dog" OR "bird".Multi-label. Multiple labels possible. Independent.
Article → ["politics", "economy", "Russia"]E.g., movie genres, document tags, image objects.
Loss
Multi-label — Binary Cross-Entropy per label.
For каждой label независимо: BCE.
Sum / average по labels.Sigmoid activation для каждого output. Probabilities independent.
loss = nn.BCEWithLogitsLoss()(logits, multi_hot_labels)Метрики
Per-label. Accuracy, precision, recall, F1.
Aggregated:
- Macro. Average per label. Equal weight.
- Micro. Aggregate TP/FP/FN globally. Frequent labels dominate.
- Weighted. Weight by label frequency.
Hamming loss. Fraction wrongly predicted labels (per item × labels).
Subset accuracy. Exact match all labels — strict.
Threshold tuning
Output sigmoid → probability per label. Need threshold к binarize.
Different optimal thresholds per label.
Label A: optimal threshold 0.5.
Label B: optimal threshold 0.3 (rare).Tune на validation per label или globally maximize F1.
Imbalance per label
Some labels appear rarely.
Class weights в loss. Penalize misses rare labels more.
Resampling. Upsample rare label examples.
Focal loss. Down-weights easy, focuses на hard.
Связанные темы
- Evaluation classification для DS
- Class imbalance для DS
- Loss функции для DS
- Text classification для DS
- Подготовка к собесу Data Scientist
FAQ
Это официальная информация?
Нет. Статья основана на стандартных multi-label classification practices.
Тренируйте Data Science — откройте тренажёр с 1500+ вопросами для собесов.