AI FÖR NATURLIGT SPRÅK

Kursinfo

Kursmaterial

FAQ

Kursmaterial

/

Kapitel

Deluppgift 3: Balansera data

Balansera data

Följande filer används i uppgiften:

app_sentiment.csv - Recensioner av applikationer från Google Play Store.

För att spara filerna, högerklicka på länken och välj att spara filen. Du behöver inte ladda ned några filer för att genomföra uppgiften, utan de är per automatik tillgängliga för användning i kodcellerna nedan.


Resultatet från vår Naive Bayes-modell indikerar att vår modell har en tendens att oftare generera den klass som förekommer oftast i träningsdata. Även om modellen kan få ett bättre resultat när klasserna i ett dataset har liknande fördelning så leder det till att modellen kan få svårt att generalisera till andra fördelningar. Det kan dessutom ge en falsk bild av modellens förmåga: träffsäkerheten kan vara hög samtidigt som modellen har svårt att gissa rätt för en specifik klass. Detta är speciellt problematiskt om vi vill att modellen ska kunna identifiera att texter tillhör en klass som förekommer sällan. Ett exempel kan vara att vi just vill identifiera om en recension av en app är negativ då det ger mer information om hur appen kan utvecklas.

Vi laddar in vårt dataset precis som i tidigare deluppgifter.

När vi balanserar data kan vi använda oss av en metod som kallas undersampling. Det innebär att vi hittar klassen med lägst frekvens och väljer ut samma antal datapunkter från resterande klasser.

I nästa kodcell ska du hitta frekvensen för den klass med lägst frekvens. Det värdet kommer sedan användas för att göra ett urval från vår träningsdata.

Nu har vi balanserat vår data. För att verifiera det ska du ta fram frekvensen för varje klass och presentera informationen i ett stapeldiagram.

Nu när vi verifierat att vår data är balanserad kan vi återigen träna en Naive Bayesmodell och utvärdera den för att se effekterna av att ha tränat på balanserad data.

Nu kan vi se hur modellens accuracy har minskat något, men hur recall för ‘neg’ har ökat. Det innebär att modellen har blivit bättre på att klassificera den ovanligare klassen när det också är den korrekta klassen i testdata.

Denna webbsajt innehåller kursmaterialet för kursen ETE335 AI för naturligt språk.
Materialet är licenserat under en Creative Commons Erkännande 4.0 Internationell licens.
Copyright © 2022, Marco Kuhlmann & Oskar Holmström