Hide

Gissa året

Languages en sv

Lisa älskar gamla foton. Hon hittade ett stort arkiv med bilder från många olika år och byggde ett litet spel kallat Gissa året från det. För varje foto är din uppgift att gissa vilket år det togs.

Du får inte de råa bilderna. Istället representeras varje bild av en numerisk inbäddning (embedding). För varje testexempel får du skicka in två årsgissningar, och bara din bättre gissning räknas.

Input

Attachments innehåller följande filer:

  • train.json - Lisas märkta exempel. Varje post har:

    • embedding: en lista med 384 tal

    • year: det korrekta året

  • test.json - omärkta exempel. Varje post har:

    • embedding: en lista med 384 tal

  • baseline.ipynb - En enkel grundlösning på problemet. Den lägger till sin egen källkod i slutet av inlämningen.

  • print_source_code.py - Ett hjälpskript för att skriva ut din källkod som en kommentar, användbart för att inkludera din lösning i inlämningsfilen. Fungerar inte i en Jupyter Notebook.

Output

Skriv ut exakt 3022 rader, en rad per testexempel i ordning.

Varje rad måste innehålla två heltal:

\[ g_1 \; g_2 \]

där $g_1$ och $g_2$ är dina två årsgissningar för det exemplet.

Scoring

Poängsättningen beräknas enligt följande:

  • Låt $N$ vara antalet utvärderade testexempel i den aktuella uppdelningen.

  • Låt $y_i$ vara det sanna året för exempel $i$.

  • Låt $(g_{i,1}, g_{i,2})$ vara dina två gissningar för exempel $i$.

  • Felet för ett exempel är:

    \[ e_i = \min \left((g_{i,1} - y_i)^2,\; (g_{i,2} - y_i)^2\right) \]
  • Det övergripande felet är:

    \[ E = \frac{1}{N}\sum _{i=1}^{N} e_i \]

Dina slutliga poäng bestäms genom att jämföra ditt fel $E$ med ett bas-fel (OBS: detta är INTE felet som baseline-lösningen får) och ett bästa fel:

  • Bas-fel: 300

  • Bästa fel: 100

Poängen beräknas med formeln:

\[ \text{Poäng} = 100 \cdot \max \left(0,\; \min \left(1,\; \frac{\text{Bas} - E}{\text{Bas} - \text{Bästa}}\right)\right) \]

Det innebär:

  • Om ditt fel är $\ge 300$ får du 0 poäng.

  • Om ditt fel är $\le 100$ får du 100 poäng.

  • Annars får du en poäng mellan 0 och 100 proportionell mot din förbättring jämfört med bas-felet.

Testning

Under tävlingen kommer din lösning att poängsättas på $30\% $ av datan i test.json. Efter att tävlingen är slut kommer alla lösningar att om-poängsättas på de återstående $70\% $ av datan. Det garanteras att test.json delades upp i de två mängderna likformigt slumpmässigt och utan överlapp mellan mängderna. Detta innebär att din poäng under tävlingen bör ses som en stark indikator på din slutliga poäng, men den kan skilja sig om du överanpassar (overfit).

Please log in to submit a solution to this problem

Log in