Problem E
Michaelin Solar
Languages
en
sv
Du driver Pizzeria Dinos i Falkkulle och kämpar mot att få din första Michaelin Sol, en väldigt prestigefylld utmärkelse att få som restaurang. Tyvärr har din konkurrent försökt sabotera detta försök genom att ha lyckats hacka in sig på din server och har tagit bort alla dina recensioner som finns på restaurangen. Eftersom detta kan få stora konsekvenser för dina chanser att få en Michaelin Sol har du bestämt dig för att sno andra produkters och restaurangers recensioner. Du har lyckats skaffa många recensioner på flera språk i text som är skrivna av människor. Men det finns ett problem, eftersom du vill ta ut de mest positiva recensionerna och du bara har de i text behöver du skapa en AI som kan lista ut vad för betyg som gavs baserat på den skriftliga recensionen.
För den här uppgiften är träningsdata givet och det är inte tillåtet att hitta egen träningsdata på internet.
Indata
Ladda ner zip-filen med träningsdata och testdata. Denna hittas längst ned vid "attachments". Du kommer få en zip fil som innehåller:
-
train.csv - Textrecensioner samt deras betygsättning
-
test.csv - Textrecensioner utan betyg, de gissade betygen till dessa ska skickas in till Kattis.
-
baseline.ipynb - Hur nedladdning av den enda modellen ni får använda sker, kopiera detta direkt till er lösning.
-
baseline.py - Ett exempel på hur en inskickning till Kattis ska se ut.
Utdata
För varje textrecension i test.csv ska du skicka ut vad för rating det är per rad.
Poängsättning
Om $S$ är medelvärdet av alla kvadrerade differenser mellan ditt betyg och det riktiga betyget för den givna textrecensionen. Med andra ord, $S = \frac{1}{n}\sum _{i=1}^{n}(X_i - Y_i)^2$ där X och Y är de betyg du förutsäger och de riktiga betygen respektive.
Din slutgiltiga poäng beräknas med hjälp av en baslinje och en referens för bästa fall, där $\text{baseline} = 3.5$ och $\text{best} = 0.5$, enligt följande:
\[ \text{Poäng} = \max (0, \min (100, \frac{\text{baseline} - S}{\text{baseline} - \text{best}}\times 100 )) \]Vid slutet av tävlingen testas alla lösningar om på resterande 70% av datan. Din poäng i slutet av tävlingen är alltså endast poängen på de resterande 70% av datan, de 30% som du testats på hittills har ingen påverkan. Det är garanterat att de 30% som testas under tävlingen har valts uniformt slumpmässigt och är helt disjunkta från de 70% som du testas på i slutet. Därmed borde resultaten på de 30% som du testas på under tävlingen ses som en stark indikator på hur bra din lösning är. Samtidigt är det dåligt överanpassa (overfitta) din lösning till testdatan.
