## Submission File

The submission file contains only two columns. The first column is image_id (corresponds to the metadata of all query images) and is always fixed, as shown in the sample_submission file. The second column is either the `new_individual` or prediction of the new individual (always in the form `LynxID2025_???`, `SalamanderID2025_???`, `SeaTurtleID2022_???`). This [notebook](https://www.kaggle.com/code/wildlifedatasets/animalclef2025) notebook provides the function `create_sample_submission`, which creates the sample submission from predictions.

## Evaluation metrics

There are two metrics computed:

* BAKS (balanced accuracy on known samples) - computes the accuracy for individuals which are known (in the database). It is balanced over classes (individuals).
* BAUS (balanced accuracy on unknown samples) - computes the accuracy for individuals which are unknown (not in the database). It is balanced over classes (individuals).

The final accuracy is the *geometric* mean of the two accuracies. We decided to use the geometric mean `np.sqrt(x*y)` instead of the arithmetic mean `0.5*(x+y)` because the submission predicting all images as new individuals achieves 0% BAKS but 100% BAUS and its arithmetic mean would be 50% even though the model is useless. We provide a [full implementation of the evaluation metric](https://www.kaggle.com/code/wildlifedatasets/balanced-accuracy).