Machine Learning

Imbalanced Data

When one class is rare, accuracy lies.

What to do

  • Use precision/recall/F1 or PR-AUC.
  • Try class_weight="balanced" for many sklearn models.
  • Choose threshold based on cost (not just 0.5).
from sklearn.linear_model import LogisticRegression
model = LogisticRegression(max_iter=300, class_weight="balanced")