Submissions are evaluated by calculating the F-beta metric with a beta value of 4. The F-beta metric with a beta value of 4 is used to prioritize recall over precision, heavily penalizing missed particles while being more lenient on false positives. In this context, a particle is considered "true" if it lies within a factor of 0.5 of the particle of interest's radius. There are five particles of interest, with three "easy" particles (ribosome, virus-like particles, and apo-ferritin) assigned a weight of 1 and two "hard" particles (thyroglobulin and β-galactosidase) assigned a weight of 2. The results are micro-averaged across multiple tomograms, ensuring that precision and recall are computed across the entire dataset before applying the F-beta formula. The higher beta value (4) and particle weights emphasize the correct identification of particles, particularly the "hard" ones, making recall the dominant factor in evaluating performance.

Note: beta-amylase particles are included in the training data and may be predicted, but they are assigned a weight of 0 and have no impact on scoring.

Here is the notebook with the [official metric code](https://www.kaggle.com/code/metric/czi-cryoet-84969).


## Submission File
For each `experiment` in the test set, you should predict the 3D locations (`x`, `y`, `z`) of each of the different `particle_type`s. Your submission should contain an `id` column with a unique integer at each row. The file should contain a header and have the following format:

    id,experiment,particle_type,x,y,z
    0,TS_5_4,beta-amylase,2983.596,3154.13,764.124
    1,TS_5_4,beta-amylase,2983.596,3154.13,764.124
    2,TS_5_4,beta-galactosidase,2983.596,3154.13,764.124
    etc.