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

Publicerad av Lucas Rosvall

Software Engineer

När man vill implementera AI i sina nuvarande system är det inte alltid så enkelt som man kan tro. Det är inte bara att mata in datan i en AI-modell och förvänta sig ett mirakel. Oftast krävs det en noggrann hantering och förberedelse av datan.

Denna förberedelseprocess går vanligtvis under namnet dataförberedelse, eller preprocessing på engelska, och den är avgörande för att transformera rådatan till värdefull information som ML-modeller kan använda sig av effektivt.

Att förbereda datan handlar också om mycket mer än att bara filtrera och rensa data. Det är exempelvis viktigt att förstå och omvandla datan på ett sätt som gör den tillgänglig och användbar för maskiner.

Dataförberedelse

Grundläggande principer för dataförberedelse

För att AI- och ML-modeller ska kunna leverera pålitliga och effektiva resultat är det nödvändigt att data går igenom en förberedelseprocess, dataförberedelse, som vi nämnde tidigare.

Denna process kan delas in i flera centrala steg som vi kommer att titta närmare på nedan.

Datainsamling

Datainsamlingen är det steget för alla AI- och ML-projekt. Här är det framförallt viktigt att noggrant välja sina datakällor så att vi kan garantera att den insamlade datan är både relevant och av hög kvalitet.

Man hade kunnat dela in datainsamlingen i två huvudsteg:

  • Identifiering av datakällor: Definiera den typ av data som du behöver baserat på ditt projekt. Leta därefter reda på relevanta datakällor som stämmer överens med de kraven.
  • Utvärdering av datan: Bedöm därefter kvaliteten på datakällan som dess noggrannhet, fullständighet och relevans. Se också till att säkerställa att mängden data är tillräcklig för att stödja projektets krav. En allmän regel är att desto mer data du har, desto bättre resultat kan du förvänta dig, förutsatt att datan är av hög kvalité och relevant för uppgiften.

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.

Låt oss illustrera med ett mer tydligt exempel: Föreställ dig en termometer som används för att mäta utomhustemperaturen. Under vintern, en tid då temperaturen vanligtvis är låg, visar denna termometer plötsligt en läsning på 20 grader Celsius.

En sådan temperatur är ovanlig och osannolik för vintersäsongen, vilket tyder på att något kanske inte stämmer med termometerns mätvärden. Detta är ett exempel på data som kan vara felaktig eller missvisande och som därmed behöver granskas noggrant i processen för dataförberedelse.

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.
Dataförberedelse

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

Man kan säga att feature engineering är konsten att förvandla rådata till informativa egenskaper, eller 'features', som förbättrar AI- och ML-modellernas förmåga att lära och förutsäga.

Genom att kreativt analysera och bearbeta datan, kan man skapa nya features som noggrant speglar och framhäver viktiga aspekter av den underliggande problemställningen.

Detta innebär ofta att man:

  • Använder domänkunskap: För att göra feature engineering effektivt är det nästan alltid viktigt med större kunskaper inom det specifika området eller ämnet. Detta hjälper nämligen att skapa mer meningsfulla och relevanta features som direkt adresserar de specifika utmaningarna man kan tänkas ha i projektet.
  • Identifierar och skapar nya features: Genom att analysera datans natur, kan man vanligtvis identifiera de mest relevanta datadimensionerna. Därefter kan du skapa nya features genom att kombinera, modifiera eller beräkna utifrån befintlig data.

För att ge ett exempel, i en hälsorelaterad AI-applikation, hade feature engineering kunnat involvera att du skapar features som återspeglar patientens livsstilsval, genom att kombinera olika mätvärden såsom sömn, antal steg per dag och så vidare.

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.

Till exempel kanske du har ett mätvärde som ligger inom intervallet 63-368 medan ett annat mätvärde ligger i intervallet 0-1. I detta fallet är det bäst att all datan normaliseras så att alla värden ligger inom ett enhetligt intervall, till exempel mellan 0 och 1.

Detta beror som sagt på att det underlättar jämförelser och analyser över olika dataset och bidrar till en mer enhetlig analys. Annars finns det nämligen en risk att variabler med större numeriska omfång dominerar de med mindre numeriska omfång i analytiska processer.

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.

Genom att noggrant implementera dessa datatransformationer kan vi förbättra kvaliteten och effektiviteten av dataanalysen, vilket leder till mer robusta och precisa AI- och ML-modeller.

I denna artikel har vi utforskat de kritiska stegen i dataförberedelse, ett avgörande element för framgång inom AI och maskininlärning. Effektiv dataförberedelse är nämligen inte bara nödvändigt, utan fundamentalt för att bygga robusta och tillförlitliga modeller.

Det är också viktigt att betona att om denna process inte utförs effektivt, riskerar man att AI-modellen presterar sämre. Så, försök att ta dataförberedelsen på allvar, framförallt om du vill maximera din AI-modells potential.

Fler artiklar

Vad kostar det att utveckla mjukvara?

Mjukvara kan kosta allt från några tusenlappar till flera miljoner kronor att utveckla. I denna artikel går vi igenom vad som påverkar kostnaderna för mjukvaruutveckling och ger några exempel på olika lösningar och dess kostnader.

Fortsätt läsa

Vad är en PoC (Proof-of-Concept)?

Varför behöver du en AI-policy? Jo, för att fatta svåra beslut, säkerställa att AI används på ett ansvarsfullt och effektivt sätt, och för att stötta din organisations mål och värderingar.

Fortsätt läsa

Vill du se dina idéer bli verklighet?

Med Fiive som din partner får du inte bara expertis, utan ett engagerat stöd för att växa och leda din bransch.

Kontor


  • Kungsgatan 4
    411 19 Göteborg