Skip to content
AI & ML 2025 07 / 14

Expression Model Benchmark

Five models, one problem — measuring what actually moves accuracy.

Built with

Language

  • Python

Skills & tools

  • PyTorch
  • torchvision
  • scikit-learn
  • CNNs
  • Model evaluation
Bar chart comparing accuracy, precision and recall for five models — the CNN scores highest

A controlled comparison of a baseline, linear and logistic regression, a deeper MLP and an augmented CNN on 48×48 facial-expression images, built in PyTorch and scikit-learn.

Question

How much does model choice really matter for facial-expression recognition? To answer honestly, every model gets the same data split and the same metrics.

Results (validation)

ModelAccuracyPrecisionRecall
Baseline (majority class)0.2500.0360.143
Linear regression0.2210.2210.154
Logistic regression0.3520.3290.303
Deeper MLP (256→128, dropout)0.4550.4720.416
CNN + augmentation0.5600.5700.480

Takeaways

  • Treating classification as regression is a trap — linear regression does worse than guessing the majority class.
  • Non-linearity helps a lot, but convolutions and augmentation are what unlock the jump.
  • A strong baseline keeps everyone honest.