Video: Data Analysis in R by Dustin Tran 2024
Även om du har tillräckligt med exempel för att träna både enkla och komplexa maskininlärningsalgoritmer måste de presentera kompletta värden i funktionerna utan eventuella saknade data. Att ha ett ofullständigt exempel gör att alla signaler inom och mellan funktioner omöjliggörs. Saknade värden gör det också svårt för algoritmen att lära sig under träning. Du måste göra något om de saknade data.
Ofta kan du ignorera saknade värden eller reparera dem genom att gissa ett sannolikt ersättningsvärde. Men för många saknade värden gör vi osäkra förutsägelser eftersom saknad information skulle kunna dölja eventuella siffror. Följaktligen är de mer saknade värdena i funktionerna, desto mer variabel och pryder förutsägelserna.
Som ett första steg, räkna antalet saknade fall i varje variabel. När en variabel har för många saknade fall kan du behöva släppa det från tränings- och testdatasetet. En bra tumregel är att släppa en variabel om mer än 90 procent av dess instanser saknas.
Vissa inlärningsalgoritmer vet inte hur man hanterar saknade värden och rapporterar fel i både tränings- och testfaser, medan andra modeller behandlar dem som nollvärden, vilket medför en underskattning av det förutspådda värdet eller sannolikheten (det är bara som om en del av formeln inte fungerar ordentligt). Följaktligen måste du ersätta alla saknade värden i din datamatris med något lämpligt värde för maskininlärning att hända korrekt.
Det finns många orsaker för saknade data, men det viktigaste är att uppgifterna saknas slumpmässigt eller i en viss ordning. Slumpmässig saknad data är idealisk eftersom du kan gissa dess värde med hjälp av ett enkelt medelvärde, en median eller en annan maskininlärningsalgoritm, utan för många bekymmer. Vissa fall innehåller en stark bias mot vissa typer av exempel.
Tänk exempelvis på att studera inkomst av en befolkning. Rika människor (av beskattningsskäl, förmodligen) tenderar att dölja sin sanna inkomst genom att rapportera till dig att de inte vet. Dåliga människor kan å andra sidan säga att de inte vill anmäla sin inkomst av rädsla för negativ bedömning. Om du saknar information från vissa grupper av befolkningen kan det vara svårt och vilseledande att reparera de saknade uppgifterna eftersom du kanske tror att sådana fall är som de andra.
Istället är de ganska annorlunda. Därför kan du inte bara använda medelvärden för att ersätta de saknade värdena - du måste använda komplexa metoder och ställa dem noga.Dessutom är det svårt att identifiera fall som saknas slumpmässigt, eftersom det krävs en närmare granskning av hur saknade värden är associerade med andra variabler i datasetet.
När data saknas slumpmässigt kan du enkelt reparera de tomma värdena eftersom du får tips om sitt verkliga värde från andra variabler. När data saknas slumpmässigt kan du inte få bra tips från annan tillgänglig information om du inte förstår dataförbundet med det saknade fallet.
Om du måste räkna ut saknade intäkter i dina data och det saknas eftersom personen är rik, kan du inte ersätta det saknade värdet med ett enkelt medel eftersom du ersätter den med en medelinkomst. Istället borde du använda ett genomsnitt av de rika människornas inkomst som ersättare.
När data saknas slumpmässigt är det faktum att värdet saknas informativt eftersom det hjälper till att spåra den saknade gruppen. Du kan lämna syftet att leta efter anledningen till att det saknas i din maskininlärningsalgoritm genom att bygga en ny binär funktion som rapporterar när värdet på en variabel saknas. Följaktligen kommer maskininlärningsalgoritmen att räkna ut det bästa värdet att använda som ersättning av sig själv.