{
  "id": 614429,
  "title": "Train has 90% behaviors_labeled = NAN",
  "url": "/competitions/MABe-mouse-behavior-detection/discussion/614429",
  "author_name": "",
  "post_date": "2025-11-03T23:37:44.329527500Z",
  "votes": 30,
  "comment_count": 5,
  "views": 0,
  "content": "<p>I've noticed that <code>train.csv</code> has 90% of row with <code>behaviors_labeled = NAN</code>. During submit/inference are there also rows of test.csv with <code>behaviors_labeled = NAN</code>? (and we should predict no actions for these rows)?</p>",
  "messages": [
    {
      "id": "3310930",
      "postDate": "11/03/2025 23:37:44",
      "content": "<p>I've noticed that <code>train.csv</code> has 90% of row with <code>behaviors_labeled = NAN</code>. During submit/inference are there also rows of test.csv with <code>behaviors_labeled = NAN</code>? (and we should predict no actions for these rows)?</p>",
      "rawMarkdown": "I've noticed that `train.csv` has 90% of row with `behaviors_labeled = NAN`. During submit/inference are there also rows of test.csv with `behaviors_labeled = NAN`? (and we should predict no actions for these rows)?",
      "votes": null
    },
    {
      "id": "3310968",
      "postDate": "11/04/2025 01:08:17",
      "content": "<p>I think that is because ~8000 of the ~8800 videos in the train dataset are from the Mabe2022_moveis and MAbe2022_keypoints dataset, which is not labelled for any actions. Only 800 videos (from other labs) are labelled. More details <a href=\"https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/611414\" target=\"_blank\">here</a></p>",
      "rawMarkdown": "I think that is because ~8000 of the ~8800 videos in the train dataset are from the Mabe2022_moveis and MAbe2022_keypoints dataset, which is not labelled for any actions. Only 800 videos (from other labs) are labelled. More details [here](https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/611414)",
      "votes": null
    },
    {
      "id": "3310971",
      "postDate": "11/04/2025 01:16:52",
      "content": "<p>Gotcha. And can we assume that test data does <strong>not</strong> have any of this unlabeled data?</p>",
      "rawMarkdown": "Gotcha. And can we assume that test data does **not** have any of this unlabeled data?",
      "votes": null
    },
    {
      "id": "3310978",
      "postDate": "11/04/2025 01:35:00",
      "content": "<p>I think so, because the entire Mabe2022 dataset is present in the training set, so it won't be in the test data. Also, the metric evaluation is done on the intersection of the labels that the test has and the behaviors_labeled set by us. Since some labs only want to study a certain action, or label only a certain mouse, even when there are other actions occurring, there is no label for that present in the data (due to the nature of the labs' study). In those cases, we are not penalized for FPs. For example, if we have a 100% accurate sniff detection model, but a lab only annotates \"rear\", but sniffing occurs in that video and we predict it on the test set, we won't get penalized for it. Same goes for mouse pairs. If only mice 1,2 are being labeled by a lab, and we predict something that actually happens on another pair, let's say 1,3 but that is not present in the ground truth behaviors_labeled, we won't get penalized either.  <a href=\"https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/609211\" target=\"_blank\">This thread</a> has most of the nuances talked about by the hosts.</p>\n<p>This is consistent throughout train and test sets, so a lab annotating for only one action might have 10 other actions happening but lack annotations for those (which are basically false negatives in our training data). Quite the tricky competition.</p>",
      "rawMarkdown": "I think so, because the entire Mabe2022 dataset is present in the training set, so it won't be in the test data. Also, the metric evaluation is done on the intersection of the labels that the test has and the behaviors_labeled set by us. Since some labs only want to study a certain action, or label only a certain mouse, even when there are other actions occurring, there is no label for that present in the data (due to the nature of the labs' study). In those cases, we are not penalized for FPs. For example, if we have a 100% accurate sniff detection model, but a lab only annotates \"rear\", but sniffing occurs in that video and we predict it on the test set, we won't get penalized for it. Same goes for mouse pairs. If only mice 1,2 are being labeled by a lab, and we predict something that actually happens on another pair, let's say 1,3 but that is not present in the ground truth behaviors_labeled, we won't get penalized either.  [This thread](https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/609211) has most of the nuances talked about by the hosts.\n\nThis is consistent throughout train and test sets, so a lab annotating for only one action might have 10 other actions happening but lack annotations for those (which are basically false negatives in our training data). Quite the tricky competition.",
      "votes": null
    },
    {
      "id": "3311002",
      "postDate": "11/04/2025 02:57:22",
      "content": "<p><a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a>  Welcome back, Chris, after MAP! This competition has so many dimensions to explore, and I’m really enjoying it. I’m also excited to see what approach you’ll come up with.</p>",
      "rawMarkdown": "cdeotte  Welcome back, Chris, after MAP! This competition has so many dimensions to explore, and I’m really enjoying it. I’m also excited to see what approach you’ll come up with.",
      "votes": null
    },
    {
      "id": "3311038",
      "postDate": "11/04/2025 04:43:20",
      "content": "<h1>MABe Mouse Behavior Dataset — Exploratory Analysis</h1>\n<h2>1. Dataset Overview</h2>\n<ul>\n<li><strong>Train videos:</strong> 8 789 rows spanning <strong>21 labs</strong>; <code>MABe22_keypoints</code> (5 320) and <code>MABe22_movies</code> (2 606) contribute 90 % of the rows.</li>\n<li><strong>Behavior-labeled subset:</strong> 848 videos (9.7 %) provide non-empty <code>behaviors_labeled</code>; all reside outside the <code>MABe22_*</code> labs.</li>\n<li><strong>Test set:</strong> Single video (<code>AdaptableSnail</code>, 30 fps, 615 s) with 18 tracked parts and 76 candidate behaviors.</li>\n<li><strong>Parquet assets:</strong> <code>train_tracking</code> holds 8 789 pose files (one per train row); <code>train_annotation</code> contains 847 label files aligning with the behavior-annotated subset; <code>test_tracking</code> has 1 file.</li>\n</ul>\n<h2>2. Video Metadata Distributions</h2>\n<ul>\n<li><strong>Frame rate:</strong> Mean 30.4 fps (min 10, max 120.02). Most labs film at 30 fps; notable outliers include <code>JovialSwallow</code> (10 fps) and <code>SparklingTapir</code> (30–120 fps, mean 60.1).</li>\n<li><strong>Duration:</strong> Mean 134.6 s but highly skewed (median 60 s, max 19 801 s ≈ 5.5 h). <code>MABe22_*</code> clips are fixed 60 s; <code>TranquilPanther</code> spans up to 4 819 s.</li>\n<li><strong>Pixel density:</strong> Mean 12.4 px/cm with tight clustering at 11.7 (all <code>MABe22_*</code>) and elevated values for <code>SparklingTapir</code> (15–65 px/cm) and <code>InvincibleJellyfish</code> (32 px/cm).</li>\n<li><strong>Arena metadata:</strong> Shapes are predominantly square (7 961) with smaller rectangular (771), split-rectangular (36), and circular (21) setups. Arena type is mostly “neutral” (8 017) with resident-intruder paradigms (692) and a handful of <code>familiar</code>, <code>CSDS</code>, or blank entries (10).</li>\n<li><strong>Tracking method:</strong> <code>custom HRnet</code> (7 926) dominates; the remainder uses <code>MARS</code> (528), <code>DeepLabCut</code> (211), or <code>SLEAP</code> (124).</li>\n</ul>\n<h2>3. Mice &amp; Experimental Context</h2>\n<ul>\n<li><strong>Group size:</strong> 3 mice per video (7 933 rows) is standard; 846 videos track 2 mice, only 10 videos involve 4 mice.</li>\n<li><strong>Sex distribution:</strong> Strongly male-skewed (25 105 male records vs. 369 female across role slots).</li>\n<li><strong>Strains:</strong> <code>C57Bl/6J</code> (14 800) and <code>BTBR</code> (9 786) dominate; <code>BALB/c</code> (606) and <code>CD1</code> families trail.</li>\n<li><strong>Colors:</strong> Principally black (14 913) and black-and-tan (9 786), with 821 white mice from the CD-1 cohorts.</li>\n<li><strong>Conditions &amp; ages:</strong> Most logs list “10–20 weeks”; a long tail of circadian experiment stamps (e.g., “day 2- 23:00 (lights off)”) appear in SparklingTapir runs.</li>\n</ul>\n<h2>4. Body-Part Coverage</h2>\n<ul>\n<li><strong>Configurations:</strong> Only 10 unique body-part sets. The canonical 12-part HRNet layout (ears, nose, tail base/tip, fore/hind paws, body center) covers 7 926 videos.</li>\n<li><strong>Counts:</strong> Body-part numbers range 4–18 (median 12). Extended headpiece rigs (18 parts) appear in the CalMS21-style recordings; hip points appear in 655 videos.</li>\n<li><strong>Per-part frequency:</strong> <code>ear_left</code>, <code>ear_right</code>, and <code>tail_base</code> appear in all train rows; <code>body_center</code> is missing from some legacy, 7-part rigs.</li>\n</ul>\n<h2>5. Behavior Labels</h2>\n<ul>\n<li><strong>Availability by lab:</strong> All CalMS21/CRIM13-style labs (e.g., <code>CalMS21_task1</code>, <code>JovialSwallow</code>, <code>PleasantMeerkat</code>) provide complete label coverage; <code>SparklingTapir</code> labels 54/69 videos; <code>MABe22_*</code> contribute no annotated behaviors.</li>\n<li><strong>Segments per video:</strong> Behavior counts span 1–76 (median 3, 75th percentile 6). Most videos have sparse annotations; a few multi-action sessions carry dense labels.</li>\n<li><strong>Action popularity (agent/target aware):</strong><ul>\n<li><code>mouse1,mouse2,sniff</code> (608 clips) and <code>mouse1,mouse2,attack</code> (443) lead pair interactions.</li>\n<li>Self behaviors include <code>rear</code> (211), <code>selfgroom</code> (144), and <code>dig</code> (85).</li></ul></li>\n<li><strong>Action popularity (action only):</strong> <code>sniff</code> (646), <code>attack</code> (644), <code>sniffgenital</code> (504), <code>approach</code> (354), <code>chase</code> (328), <code>mount</code> (314).</li>\n<li><strong>Interaction balance:</strong> Pair interactions represent 4 325 labeled behaviors vs. 594 self actions, underscoring the dataset’s focus on social dynamics.</li>\n</ul>\n<h2>6. Notable Patterns &amp; Data Quality Notes</h2>\n<ul>\n<li>Massive label imbalance: the bulk of training videos (all <code>MABe22_*</code>) lack annotation files, so supervised training requires either external labels or semi-supervised strategies.</li>\n<li>SparklingTapir runs introduce the widest variation in frame rate (30–120 fps), pixel density, and experimental conditions—helpful for generalization but a source of heterogeneity.</li>\n<li>A handful of rows contain blank <code>arena_type</code> fields or exotic experimental descriptors; downstream code should defensively handle <code>\"\"</code> values.</li>\n<li>Mouse metadata is male-heavy, so target behaviors featuring females (e.g., maternal or sexual dimorphism) may be underrepresented.</li>\n<li>Pose rigs differ (7-, 12-, 18-point layouts). Feature pipelines should expect missing columns when switching labs.</li>\n</ul>",
      "rawMarkdown": "# MABe Mouse Behavior Dataset — Exploratory Analysis\n\n## 1. Dataset Overview\n- **Train videos:** 8 789 rows spanning **21 labs**; `MABe22_keypoints` (5 320) and `MABe22_movies` (2 606) contribute 90 % of the rows.\n- **Behavior-labeled subset:** 848 videos (9.7 %) provide non-empty `behaviors_labeled`; all reside outside the `MABe22_*` labs.\n- **Test set:** Single video (`AdaptableSnail`, 30 fps, 615 s) with 18 tracked parts and 76 candidate behaviors.\n- **Parquet assets:** `train_tracking` holds 8 789 pose files (one per train row); `train_annotation` contains 847 label files aligning with the behavior-annotated subset; `test_tracking` has 1 file.\n\n## 2. Video Metadata Distributions\n- **Frame rate:** Mean 30.4 fps (min 10, max 120.02). Most labs film at 30 fps; notable outliers include `JovialSwallow` (10 fps) and `SparklingTapir` (30–120 fps, mean 60.1).\n- **Duration:** Mean 134.6 s but highly skewed (median 60 s, max 19 801 s ≈ 5.5 h). `MABe22_*` clips are fixed 60 s; `TranquilPanther` spans up to 4 819 s.\n- **Pixel density:** Mean 12.4 px/cm with tight clustering at 11.7 (all `MABe22_*`) and elevated values for `SparklingTapir` (15–65 px/cm) and `InvincibleJellyfish` (32 px/cm).\n- **Arena metadata:** Shapes are predominantly square (7 961) with smaller rectangular (771), split-rectangular (36), and circular (21) setups. Arena type is mostly “neutral” (8 017) with resident-intruder paradigms (692) and a handful of `familiar`, `CSDS`, or blank entries (10).\n- **Tracking method:** `custom HRnet` (7 926) dominates; the remainder uses `MARS` (528), `DeepLabCut` (211), or `SLEAP` (124).\n\n## 3. Mice & Experimental Context\n- **Group size:** 3 mice per video (7 933 rows) is standard; 846 videos track 2 mice, only 10 videos involve 4 mice.\n- **Sex distribution:** Strongly male-skewed (25 105 male records vs. 369 female across role slots).\n- **Strains:** `C57Bl/6J` (14 800) and `BTBR` (9 786) dominate; `BALB/c` (606) and `CD1` families trail.\n- **Colors:** Principally black (14 913) and black-and-tan (9 786), with 821 white mice from the CD-1 cohorts.\n- **Conditions & ages:** Most logs list “10–20 weeks”; a long tail of circadian experiment stamps (e.g., “day 2- 23:00 (lights off)”) appear in SparklingTapir runs.\n\n## 4. Body-Part Coverage\n- **Configurations:** Only 10 unique body-part sets. The canonical 12-part HRNet layout (ears, nose, tail base/tip, fore/hind paws, body center) covers 7 926 videos.\n- **Counts:** Body-part numbers range 4–18 (median 12). Extended headpiece rigs (18 parts) appear in the CalMS21-style recordings; hip points appear in 655 videos.\n- **Per-part frequency:** `ear_left`, `ear_right`, and `tail_base` appear in all train rows; `body_center` is missing from some legacy, 7-part rigs.\n\n## 5. Behavior Labels\n- **Availability by lab:** All CalMS21/CRIM13-style labs (e.g., `CalMS21_task1`, `JovialSwallow`, `PleasantMeerkat`) provide complete label coverage; `SparklingTapir` labels 54/69 videos; `MABe22_*` contribute no annotated behaviors.\n- **Segments per video:** Behavior counts span 1–76 (median 3, 75th percentile 6). Most videos have sparse annotations; a few multi-action sessions carry dense labels.\n- **Action popularity (agent/target aware):**\n  - `mouse1,mouse2,sniff` (608 clips) and `mouse1,mouse2,attack` (443) lead pair interactions.\n  - Self behaviors include `rear` (211), `selfgroom` (144), and `dig` (85).\n- **Action popularity (action only):** `sniff` (646), `attack` (644), `sniffgenital` (504), `approach` (354), `chase` (328), `mount` (314).\n- **Interaction balance:** Pair interactions represent 4 325 labeled behaviors vs. 594 self actions, underscoring the dataset’s focus on social dynamics.\n\n## 6. Notable Patterns & Data Quality Notes\n- Massive label imbalance: the bulk of training videos (all `MABe22_*`) lack annotation files, so supervised training requires either external labels or semi-supervised strategies.\n- SparklingTapir runs introduce the widest variation in frame rate (30–120 fps), pixel density, and experimental conditions—helpful for generalization but a source of heterogeneity.\n- A handful of rows contain blank `arena_type` fields or exotic experimental descriptors; downstream code should defensively handle `\"\"` values.\n- Mouse metadata is male-heavy, so target behaviors featuring females (e.g., maternal or sexual dimorphism) may be underrepresented.\n- Pose rigs differ (7-, 12-, 18-point layouts). Feature pipelines should expect missing columns when switching labs.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 3310968,
      "author_name": "p4rallax",
      "author_url": "",
      "post_date": "11/04/2025 01:08:17",
      "content": "<p>I think that is because ~8000 of the ~8800 videos in the train dataset are from the Mabe2022_moveis and MAbe2022_keypoints dataset, which is not labelled for any actions. Only 800 videos (from other labs) are labelled. More details <a href=\"https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/611414\" target=\"_blank\">here</a></p>",
      "votes": null,
      "replies": [
        {
          "id": 3310971,
          "author_name": "cdeotte",
          "author_url": "",
          "post_date": "11/04/2025 01:16:52",
          "content": "<p>Gotcha. And can we assume that test data does <strong>not</strong> have any of this unlabeled data?</p>",
          "votes": null,
          "replies": [
            {
              "id": 3310978,
              "author_name": "p4rallax",
              "author_url": "",
              "post_date": "11/04/2025 01:35:00",
              "content": "<p>I think so, because the entire Mabe2022 dataset is present in the training set, so it won't be in the test data. Also, the metric evaluation is done on the intersection of the labels that the test has and the behaviors_labeled set by us. Since some labs only want to study a certain action, or label only a certain mouse, even when there are other actions occurring, there is no label for that present in the data (due to the nature of the labs' study). In those cases, we are not penalized for FPs. For example, if we have a 100% accurate sniff detection model, but a lab only annotates \"rear\", but sniffing occurs in that video and we predict it on the test set, we won't get penalized for it. Same goes for mouse pairs. If only mice 1,2 are being labeled by a lab, and we predict something that actually happens on another pair, let's say 1,3 but that is not present in the ground truth behaviors_labeled, we won't get penalized either.  <a href=\"https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/609211\" target=\"_blank\">This thread</a> has most of the nuances talked about by the hosts.</p>\n<p>This is consistent throughout train and test sets, so a lab annotating for only one action might have 10 other actions happening but lack annotations for those (which are basically false negatives in our training data). Quite the tricky competition.</p>",
              "votes": null,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3311002,
      "author_name": "tom99763",
      "author_url": "",
      "post_date": "11/04/2025 02:57:22",
      "content": "<p><a href=\"https://www.kaggle.com/cdeotte\" target=\"_blank\">@cdeotte</a>  Welcome back, Chris, after MAP! This competition has so many dimensions to explore, and I’m really enjoying it. I’m also excited to see what approach you’ll come up with.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 3311038,
      "author_name": "tonylica",
      "author_url": "",
      "post_date": "11/04/2025 04:43:20",
      "content": "<h1>MABe Mouse Behavior Dataset — Exploratory Analysis</h1>\n<h2>1. Dataset Overview</h2>\n<ul>\n<li><strong>Train videos:</strong> 8 789 rows spanning <strong>21 labs</strong>; <code>MABe22_keypoints</code> (5 320) and <code>MABe22_movies</code> (2 606) contribute 90 % of the rows.</li>\n<li><strong>Behavior-labeled subset:</strong> 848 videos (9.7 %) provide non-empty <code>behaviors_labeled</code>; all reside outside the <code>MABe22_*</code> labs.</li>\n<li><strong>Test set:</strong> Single video (<code>AdaptableSnail</code>, 30 fps, 615 s) with 18 tracked parts and 76 candidate behaviors.</li>\n<li><strong>Parquet assets:</strong> <code>train_tracking</code> holds 8 789 pose files (one per train row); <code>train_annotation</code> contains 847 label files aligning with the behavior-annotated subset; <code>test_tracking</code> has 1 file.</li>\n</ul>\n<h2>2. Video Metadata Distributions</h2>\n<ul>\n<li><strong>Frame rate:</strong> Mean 30.4 fps (min 10, max 120.02). Most labs film at 30 fps; notable outliers include <code>JovialSwallow</code> (10 fps) and <code>SparklingTapir</code> (30–120 fps, mean 60.1).</li>\n<li><strong>Duration:</strong> Mean 134.6 s but highly skewed (median 60 s, max 19 801 s ≈ 5.5 h). <code>MABe22_*</code> clips are fixed 60 s; <code>TranquilPanther</code> spans up to 4 819 s.</li>\n<li><strong>Pixel density:</strong> Mean 12.4 px/cm with tight clustering at 11.7 (all <code>MABe22_*</code>) and elevated values for <code>SparklingTapir</code> (15–65 px/cm) and <code>InvincibleJellyfish</code> (32 px/cm).</li>\n<li><strong>Arena metadata:</strong> Shapes are predominantly square (7 961) with smaller rectangular (771), split-rectangular (36), and circular (21) setups. Arena type is mostly “neutral” (8 017) with resident-intruder paradigms (692) and a handful of <code>familiar</code>, <code>CSDS</code>, or blank entries (10).</li>\n<li><strong>Tracking method:</strong> <code>custom HRnet</code> (7 926) dominates; the remainder uses <code>MARS</code> (528), <code>DeepLabCut</code> (211), or <code>SLEAP</code> (124).</li>\n</ul>\n<h2>3. Mice &amp; Experimental Context</h2>\n<ul>\n<li><strong>Group size:</strong> 3 mice per video (7 933 rows) is standard; 846 videos track 2 mice, only 10 videos involve 4 mice.</li>\n<li><strong>Sex distribution:</strong> Strongly male-skewed (25 105 male records vs. 369 female across role slots).</li>\n<li><strong>Strains:</strong> <code>C57Bl/6J</code> (14 800) and <code>BTBR</code> (9 786) dominate; <code>BALB/c</code> (606) and <code>CD1</code> families trail.</li>\n<li><strong>Colors:</strong> Principally black (14 913) and black-and-tan (9 786), with 821 white mice from the CD-1 cohorts.</li>\n<li><strong>Conditions &amp; ages:</strong> Most logs list “10–20 weeks”; a long tail of circadian experiment stamps (e.g., “day 2- 23:00 (lights off)”) appear in SparklingTapir runs.</li>\n</ul>\n<h2>4. Body-Part Coverage</h2>\n<ul>\n<li><strong>Configurations:</strong> Only 10 unique body-part sets. The canonical 12-part HRNet layout (ears, nose, tail base/tip, fore/hind paws, body center) covers 7 926 videos.</li>\n<li><strong>Counts:</strong> Body-part numbers range 4–18 (median 12). Extended headpiece rigs (18 parts) appear in the CalMS21-style recordings; hip points appear in 655 videos.</li>\n<li><strong>Per-part frequency:</strong> <code>ear_left</code>, <code>ear_right</code>, and <code>tail_base</code> appear in all train rows; <code>body_center</code> is missing from some legacy, 7-part rigs.</li>\n</ul>\n<h2>5. Behavior Labels</h2>\n<ul>\n<li><strong>Availability by lab:</strong> All CalMS21/CRIM13-style labs (e.g., <code>CalMS21_task1</code>, <code>JovialSwallow</code>, <code>PleasantMeerkat</code>) provide complete label coverage; <code>SparklingTapir</code> labels 54/69 videos; <code>MABe22_*</code> contribute no annotated behaviors.</li>\n<li><strong>Segments per video:</strong> Behavior counts span 1–76 (median 3, 75th percentile 6). Most videos have sparse annotations; a few multi-action sessions carry dense labels.</li>\n<li><strong>Action popularity (agent/target aware):</strong><ul>\n<li><code>mouse1,mouse2,sniff</code> (608 clips) and <code>mouse1,mouse2,attack</code> (443) lead pair interactions.</li>\n<li>Self behaviors include <code>rear</code> (211), <code>selfgroom</code> (144), and <code>dig</code> (85).</li></ul></li>\n<li><strong>Action popularity (action only):</strong> <code>sniff</code> (646), <code>attack</code> (644), <code>sniffgenital</code> (504), <code>approach</code> (354), <code>chase</code> (328), <code>mount</code> (314).</li>\n<li><strong>Interaction balance:</strong> Pair interactions represent 4 325 labeled behaviors vs. 594 self actions, underscoring the dataset’s focus on social dynamics.</li>\n</ul>\n<h2>6. Notable Patterns &amp; Data Quality Notes</h2>\n<ul>\n<li>Massive label imbalance: the bulk of training videos (all <code>MABe22_*</code>) lack annotation files, so supervised training requires either external labels or semi-supervised strategies.</li>\n<li>SparklingTapir runs introduce the widest variation in frame rate (30–120 fps), pixel density, and experimental conditions—helpful for generalization but a source of heterogeneity.</li>\n<li>A handful of rows contain blank <code>arena_type</code> fields or exotic experimental descriptors; downstream code should defensively handle <code>\"\"</code> values.</li>\n<li>Mouse metadata is male-heavy, so target behaviors featuring females (e.g., maternal or sexual dimorphism) may be underrepresented.</li>\n<li>Pose rigs differ (7-, 12-, 18-point layouts). Feature pipelines should expect missing columns when switching labs.</li>\n</ul>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "3310930": "I've noticed that `train.csv` has 90% of row with `behaviors_labeled = NAN`. During submit/inference are there also rows of test.csv with `behaviors_labeled = NAN`? (and we should predict no actions for these rows)?",
    "3310968": "I think that is because ~8000 of the ~8800 videos in the train dataset are from the Mabe2022_moveis and MAbe2022_keypoints dataset, which is not labelled for any actions. Only 800 videos (from other labs) are labelled. More details [here](https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/611414)",
    "3310971": "Gotcha. And can we assume that test data does **not** have any of this unlabeled data?",
    "3310978": "I think so, because the entire Mabe2022 dataset is present in the training set, so it won't be in the test data. Also, the metric evaluation is done on the intersection of the labels that the test has and the behaviors_labeled set by us. Since some labs only want to study a certain action, or label only a certain mouse, even when there are other actions occurring, there is no label for that present in the data (due to the nature of the labs' study). In those cases, we are not penalized for FPs. For example, if we have a 100% accurate sniff detection model, but a lab only annotates \"rear\", but sniffing occurs in that video and we predict it on the test set, we won't get penalized for it. Same goes for mouse pairs. If only mice 1,2 are being labeled by a lab, and we predict something that actually happens on another pair, let's say 1,3 but that is not present in the ground truth behaviors_labeled, we won't get penalized either.  [This thread](https://www.kaggle.com/competitions/MABe-mouse-behavior-detection/discussion/609211) has most of the nuances talked about by the hosts.\n\nThis is consistent throughout train and test sets, so a lab annotating for only one action might have 10 other actions happening but lack annotations for those (which are basically false negatives in our training data). Quite the tricky competition.",
    "3311002": "cdeotte  Welcome back, Chris, after MAP! This competition has so many dimensions to explore, and I’m really enjoying it. I’m also excited to see what approach you’ll come up with.",
    "3311038": "# MABe Mouse Behavior Dataset — Exploratory Analysis\n\n## 1. Dataset Overview\n- **Train videos:** 8 789 rows spanning **21 labs**; `MABe22_keypoints` (5 320) and `MABe22_movies` (2 606) contribute 90 % of the rows.\n- **Behavior-labeled subset:** 848 videos (9.7 %) provide non-empty `behaviors_labeled`; all reside outside the `MABe22_*` labs.\n- **Test set:** Single video (`AdaptableSnail`, 30 fps, 615 s) with 18 tracked parts and 76 candidate behaviors.\n- **Parquet assets:** `train_tracking` holds 8 789 pose files (one per train row); `train_annotation` contains 847 label files aligning with the behavior-annotated subset; `test_tracking` has 1 file.\n\n## 2. Video Metadata Distributions\n- **Frame rate:** Mean 30.4 fps (min 10, max 120.02). Most labs film at 30 fps; notable outliers include `JovialSwallow` (10 fps) and `SparklingTapir` (30–120 fps, mean 60.1).\n- **Duration:** Mean 134.6 s but highly skewed (median 60 s, max 19 801 s ≈ 5.5 h). `MABe22_*` clips are fixed 60 s; `TranquilPanther` spans up to 4 819 s.\n- **Pixel density:** Mean 12.4 px/cm with tight clustering at 11.7 (all `MABe22_*`) and elevated values for `SparklingTapir` (15–65 px/cm) and `InvincibleJellyfish` (32 px/cm).\n- **Arena metadata:** Shapes are predominantly square (7 961) with smaller rectangular (771), split-rectangular (36), and circular (21) setups. Arena type is mostly “neutral” (8 017) with resident-intruder paradigms (692) and a handful of `familiar`, `CSDS`, or blank entries (10).\n- **Tracking method:** `custom HRnet` (7 926) dominates; the remainder uses `MARS` (528), `DeepLabCut` (211), or `SLEAP` (124).\n\n## 3. Mice & Experimental Context\n- **Group size:** 3 mice per video (7 933 rows) is standard; 846 videos track 2 mice, only 10 videos involve 4 mice.\n- **Sex distribution:** Strongly male-skewed (25 105 male records vs. 369 female across role slots).\n- **Strains:** `C57Bl/6J` (14 800) and `BTBR` (9 786) dominate; `BALB/c` (606) and `CD1` families trail.\n- **Colors:** Principally black (14 913) and black-and-tan (9 786), with 821 white mice from the CD-1 cohorts.\n- **Conditions & ages:** Most logs list “10–20 weeks”; a long tail of circadian experiment stamps (e.g., “day 2- 23:00 (lights off)”) appear in SparklingTapir runs.\n\n## 4. Body-Part Coverage\n- **Configurations:** Only 10 unique body-part sets. The canonical 12-part HRNet layout (ears, nose, tail base/tip, fore/hind paws, body center) covers 7 926 videos.\n- **Counts:** Body-part numbers range 4–18 (median 12). Extended headpiece rigs (18 parts) appear in the CalMS21-style recordings; hip points appear in 655 videos.\n- **Per-part frequency:** `ear_left`, `ear_right`, and `tail_base` appear in all train rows; `body_center` is missing from some legacy, 7-part rigs.\n\n## 5. Behavior Labels\n- **Availability by lab:** All CalMS21/CRIM13-style labs (e.g., `CalMS21_task1`, `JovialSwallow`, `PleasantMeerkat`) provide complete label coverage; `SparklingTapir` labels 54/69 videos; `MABe22_*` contribute no annotated behaviors.\n- **Segments per video:** Behavior counts span 1–76 (median 3, 75th percentile 6). Most videos have sparse annotations; a few multi-action sessions carry dense labels.\n- **Action popularity (agent/target aware):**\n  - `mouse1,mouse2,sniff` (608 clips) and `mouse1,mouse2,attack` (443) lead pair interactions.\n  - Self behaviors include `rear` (211), `selfgroom` (144), and `dig` (85).\n- **Action popularity (action only):** `sniff` (646), `attack` (644), `sniffgenital` (504), `approach` (354), `chase` (328), `mount` (314).\n- **Interaction balance:** Pair interactions represent 4 325 labeled behaviors vs. 594 self actions, underscoring the dataset’s focus on social dynamics.\n\n## 6. Notable Patterns & Data Quality Notes\n- Massive label imbalance: the bulk of training videos (all `MABe22_*`) lack annotation files, so supervised training requires either external labels or semi-supervised strategies.\n- SparklingTapir runs introduce the widest variation in frame rate (30–120 fps), pixel density, and experimental conditions—helpful for generalization but a source of heterogeneity.\n- A handful of rows contain blank `arena_type` fields or exotic experimental descriptors; downstream code should defensively handle `\"\"` values.\n- Mouse metadata is male-heavy, so target behaviors featuring females (e.g., maternal or sexual dimorphism) may be underrepresented.\n- Pose rigs differ (7-, 12-, 18-point layouts). Feature pipelines should expect missing columns when switching labs."
  },
  "source": "meta"
}