Hur förbereder du data för AI och maskininlärning?

Publicerad av Lucas Rosvall
Tech Lead & Co-Founder
Dataförberedelse (preprocessing) är processen att rensa, transformera och strukturera rådata så att AI-modeller kan lära sig från den. Detta inkluderar fyra huvudsteg: datainsamling, datarensning, databearbetning och uppdelning av data i tränings- och testset.
Majoriteten av framgångsrik AI handlar om dataförberedelse, inte om algoritmer. Utan korrekt förberedelse riskerar du meningslösa resultat - oavsett hur avancerad din modell är.
I denna artikel går vi igenom de fyra kritiska stegen i dataförberedelse och hur rätt metodik kan optimera din AI-modells prestanda.
Grundläggande principer för dataförberedelse
För att AI-modeller ska kunna leverera pålitliga resultat krävs en systematisk förberedelseprocess. Hoppa över ett steg, och din modells noggrannhet kan sjunka drastiskt.
Låt oss gå igenom de fyra kritiska stegen som skiljer framgångsrika AI-projekt från misslyckade.
Datainsamling
Datainsamling är grunden - samlar du fel data här, spelar resten ingen roll. Funderar du på vilken data du egentligen behöver för ditt AI-projekt? Ställ dig dessa tre frågor först:
- Svarar datan på min affärsfråga? Om du vill förutsäga kundbortfall behöver du data om kundbeteende över tid, inte bara demografisk information.
- Är datan aktuell? Data äldre än 6-12 månader kan leda till modeller som speglar gårdagens verklighet, inte dagens.
- Har jag tillräckligt med data? Som tumregel behöver du minst 1000 datapunkter per kategori du vill förutsäga.
Datainsamlingen kan delas in i två huvudsteg:
- Identifiering av datakällor: Definiera vilken typ av data du behöver baserat på ditt projekt. Leta därefter reda på relevanta datakällor som stämmer överens med dessa krav.
- Utvärdering av datan: Bedöm kvaliteten på datakällan - dess noggrannhet, fullständighet och relevans. Säkerställ att mängden data är tillräcklig för att stödja projektets krav.
Låt oss ge ett exempel för att använda AI för att förbättra kundservicen för en E-handel, då hade datainsamlingsprocessen för att förbättra kundservicen kunnat sett ut så här:
- Identifiering: Insamling av data från chattar, e-postkonversationer, kundrecensioner från webbplatsen, och beteendedata från användare, såsom sidvisningar och klickmönster.
- Dataanalys: Datan hade sedan analyserats och granskats för att identifiera vanliga klagomål, frågor och mönster i kundbeteendet. Detta ger oss en idé vad vi kan förvänta oss senare när vi utvecklar vår modell.
Datarensning
Datarensning är vanligtvis det nästa kritiska steget i dataprocessen. Det är framförallt avgörande för att säkerställa att all data som används i en AI-applikation är både användbar och relevant.
Korrekt rensad data är bland annat viktigt för att kunna undvika felaktiga slutsatser, vilket är särskilt viktigt i AI-sammanhang där resultatens noggrannhet är direkt kopplad till datans kvalitet.
En effektiv datarensning följer dessa nyckelsteg:
- Hantering av saknade värden: Första steget är att adressera saknade värden, något som kan skapa problem i träningen av modellen. Beroende på situationen kan dessa värden antingen fyllas i (imputeras) med hjälp av statistiska metoder, men ibland väljer man också att ta bort saknade data.
- Korrigering av felaktig data: Man behöver också upptäcka och rätta till felaktiga data, såsom outliers eller tydliga fel i datainsamlingen. Detta kan innebära att du justerar värden baserat på kända standarder eller tar bort dem helt om de inte kan verifieras.
Ett tydligt exempel på när datarensning är nödvändig är i fall där datan innehåller uppenbara mätfel.
Praktiskt exempel: En temperatursensor visar 20°C mitt i januari. Omöjligt i Sverige. Detta är exakt den typ av outliers som kan förstöra din AI-modells förutsägelser om de inte rensas bort systematiskt. En modell tränad på felaktig data ger felaktiga resultat - utan undantag.
Format och typomvandlingar
För att sedan göra datan mer hanterbar och analyserbar för din AI-modell borde du också standardisera dataformatet genom olika typomvandlingar.
Denna process hade kunnat innebära att man konverterar textdata till numeriska värden, standardiserar datumformat, eller omvandlar kategoriska variabler till ett format som modellen kan bearbeta.
Några av de vanligaste format- och typomvandlingarna inkluderar:
- Text till numeriska värden: Många AI-modeller kräver numerisk input. Textdata, såsom kommentarer eller beskrivningar, kan konverteras till numeriska värden genom tekniker som bag-of-words eller TF-IDF (Term Frequency-Inverse Document Frequency), vilket omvandlar text till en uppsättning av siffror som representerar ordens frekvens och viktighet.
- Standardisering av datum och tid: Datum och tider kan registreras i många olika format. Genom att standardisera dessa till ett enhetligt format, underlättas analysen av exempelvis tidsseriedata.
- Omvandling till binära eller numeriska format: Kategoriska variabler, som 'ja' eller 'nej' svar, eller olika produktkategorier, kan omvandlas till binära (0 eller 1) eller numeriska format för att kunna bearbetas av AI-modellen. Detta brukar vanligtvis ske genom tekniker som one-hot encoding eller label encoding.
Avancerad dataförberedelse
Ibland krävs det mer än bara grundläggande rengöring och formatering av data för att uppfylla alla krav i ett AI- och ML-projekt.
Avancerad dataförberedelse innefattar att utforska och förädla data ytterligare för att maximera dess potential och relevans för specifika analytiska uppgifter.
Denna del av processen är avgörande för att ta fram detaljerade insikter och förbättra modellens precision och effektivitet.
Feature Engineering
Feature engineering är där rådata blir intelligent. Tänk dig detta: Istället för att bara lagra "2024-01-15 kl 14:23" som köptidpunkt i en e-handel, skapar du nya features som:
- "Är det helg?" (Ja/Nej)
- "Är det lunchrusning?" (11:00-13:00)
- "Dagar till nästa lön" (0-30)
- "Säsong" (Vinter/Vår/Sommar/Höst)
Din AI-modell kan nu upptäcka mönster som var helt osynliga i rådatan. Exempelvis att försäljningen ökar 40% på söndagskvällar under vintern.
Fundera: Vilken dold information finns i din data som kan bli värdefulla features? Ofta ligger de största insikterna i kombinationer av befintliga datapunkter.
Detta innebär att du:
- Använder domänkunskap: För effektiv feature engineering behöver du förstå ditt affärsområde. En detaljhandelsexpert vet att "dagar till månadsskifte" påverkar köpbeteende - något en generell datavetare kanske missar.
- Identifierar och skapar nya features: Genom att analysera datans natur kan du identifiera de mest relevanta dimensionerna. Skapa sedan nya features genom att kombinera, modifiera eller beräkna utifrån befintlig data.
Praktiskt exempel från hälsovård: Istället för att bara ha "antal steg per dag" och "sömnlängd", skapar du kombinerade features som "återhämtningsindex" (sömnkvalitet / aktivitetsnivå) eller "aktivitetstrend" (genomsnitt senaste 7 dagarna vs senaste 30 dagarna).
Datatransformation
Datatransformation är en annan vanlig process inom mer avancerad dataförberedelse. Det innebär att man omvandlar rådatan till en form som är mer lämplig och effektiv för analys, med målet att förbättra modellernas förmåga att identifiera mönster.
De tre vanligaste stegen inom datatransformation är normalisering, standardisering och dimensionssänkning. Låt oss titta närmare på dessa:
Normalisering och standardisering:
Normalisering och standardisering är tekniken som du använder för att omvandla dina datavärden till en gemensam skala utan att förvränga skillnader i värdeområden eller fördelningar.
Om du har variabler som varierar i omfång är detta särskilt viktigt, eftersom det bland annat kan hjälpa till att jämföra och kombinera olika typer av data på ett meningsfullt sätt.
Praktiskt exempel: Du analyserar kundbeteende där "ålder" sträcker sig från 18-85 år medan "köpsannolikhet" ligger mellan 0-1. Utan normalisering kommer ålder-variabeln att dominera modellen upp till 85 gånger mer än den borde - vilket leder till felaktiga förutsägelser.
I detta fall är det bäst att normalisera all data så att alla värden ligger inom ett enhetligt intervall, till exempel mellan 0 och 1. Detta underlättar jämförelser och analyser över olika dataset och förhindrar att variabler med större numeriska omfång dominerar modellen.
Dimensionssänkning:
Om du arbetar med mycket stora och komplexa dataset är dimensionssänkning särskilt viktigt. Det används nämligen för att minska antalet egenskaper (features) i en datamängd, vilket gör det enklare att hantera och analysera alla variabler effektivt.
Ett exempel på en populär teknik för dimensionssänkning är Principal Component Analysis (PCA). Det är en teknik som kan användas för att minska antalet egenskaper genom att extrahera de viktigaste komponenterna (features) från datan, vilket i sin tur förenklar modelleringen utan att förlora kritisk information från datan.
Dataförberedelsen avgör om din AI-satsning lyckas eller misslyckas. Nu känner du till de fyra kritiska stegen - datainsamling, datarensning, formatkonvertering och avancerad transformation genom feature engineering.
Nästa steg: När din data väl är förberedd kan du utforska hur du börjar med en Proof of Concept (PoC) för att validera din AI-idé innan fullskalig utveckling. Läs också om de olika stadierna inom AI-mognad för att förstå var ditt företag befinner sig i sin AI-resa.