Skip to content

[1/3] audioprotopnet: data layer updates #188

Description

@nkundiushuti

Problem

esp_data introduced a Polars backend and Birdset was updated. Two things broke:

  1. TrainValSplitTransform called sklearn.train_test_split directly on the dataset object, which assumes a pandas DataFrame. Polars datasets are not DataFrames, so the call fails.

  2. BirdSet removed train splits changed in the esp_data

Fix

PR #186 — addressed in the context of the audioprotopnet integration (#184).

  • Replace sklearn.train_test_split with esp_data PandasBackend API in TrainValSplitTransform so splits work across both pandas and Polars backends
  • Add birdset_train_splits module that registers the birdset_train dataset name; update all benchmark configs accordingly
  • Split ebird_taxonomy.json into versioned v2021/v2025 files so models can resolve labels against the taxonomy version they were trained with
  • Add fill_labels_from_answer repair transform to beans configs for rows where labels_as_list is empty but answer has the label
  • Exclude avex/data/ from large-file, ruff, and codespell hooks (taxonomy JSON files contain Latin species names flagged as spelling errors)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions