Close

155 clips from one cat: what this data can't tell me

A project log for Meowtion

An open-source cat collar that monitors eating, drinking, and rest, and flags habit changes that appear before illness does.

jerome-gravesJerome Graves an hour ago0 Comments

Before discussing any model work, it's worth being straight about what the collar has actually seen.

The dataset is 191 clips recorded from one cat over 19 capture sessions. 155 of them carry a behaviour label; the other 36 are unlabelled and excluded. Each clip is a 5-second window: 8 kHz mu-law audio paired with time-aligned 6-axis motion at 104 Hz. The train/test split is 116/39, a 25% held-out split stratified by class.

The class balance is the interesting part, and not in a good way:

  Eat       94
  Resting   40
  Drink     11
  Moving    10

Eating dominates because a cat eating is easy to catch and easy to label. Drinking is rarer, briefer, and happens when you aren't watching. "Moving" is a catch-all that turned out to be the hardest to record deliberately, because the moment you follow a cat around with a phone, it stops doing whatever it was doing.

That imbalance sets a ceiling on what any result from this data means. Eleven drink clips is not enough to claim anything general about drinking, and I'll come back to what that does to the numbers in the next log.

One thing the label set does show: it isn't hardcoded. This particular recording happened to contain eat/drink/resting/moving, discovered from the data rather than fixed in firmware. A different recording produces a different label set without touching the collar.

Full dataset breakdown and the training pipeline: github.com/Jerome-Graves/meowtion/tree/main/docs/technical

Discussions