Hantera saknade värden

Öva på maskininlärningsintervjufrågor i Python

Lisa Stuart

Data Scientist

Förkunskaper

Öva på maskininlärningsintervjufrågor i Python

Kursöversikt

  • Kapitel 1: Förbearbetning och visualisering
    • Saknade värden, avvikare, normalisering
  • Kapitel 2: Övervakad inlärning
    • Särdragsval, regularisering, särdragskonstruktion
  • Kapitel 3: Oövervakad inlärning
    • Val av klusteralgoritm, särdragsextraktion, dimensionsreduktion
  • Kapitel 4: Modellval och utvärdering
    • Modellgeneralisering och utvärdering, modellval
Öva på maskininlärningsintervjufrågor i Python

Pipeline för maskininlärning (ML)

Översikt av pipeline

Öva på maskininlärningsintervjufrågor i Python

Vår ML-pipeline

Pipeline

Öva på maskininlärningsintervjufrågor i Python

Saknade värden

  • Olika teknikers påverkan
  • Hitta saknade värden
  • Strategier för att hantera dem
Öva på maskininlärningsintervjufrågor i Python

Tekniker

  1. Utelämning
    • Ta bort rader --> .dropna(axis=0)
    • Ta bort kolumner --> .dropna(axis=1)
  2. Imputering
    • Fyll med noll --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputera medelvärde --> SimpleImputer(strategy='mean')
    • Imputera median --> SimpleImputer(strategy='median')
    • Imputera typvärde --> SimpleImputer(strategy='most_frequent')
    • Iterativ imputering --> IterativeImputer()
Öva på maskininlärningsintervjufrågor i Python

Varför bry sig?

  • Minskar risken för att introducera skevhet
  • De flesta ML-algoritmer kräver fullständiga data
Öva på maskininlärningsintervjufrågor i Python

Imputeringens effekter

  • Beror på:
    • Saknade värden
    • Ursprunglig varians
    • Förekomst av avvikare
    • Snedningens storlek och riktning
  • Utelämning --> Kan ta bort för mycket
  • Noll --> Ger nedåtgående skevhet i resultaten
  • Medelvärde --> Påverkas mer av avvikare
  • Median --> Bättre vid avvikare
  • Typvärde och iterativ imputering --> Testa dem
Öva på maskininlärningsintervjufrågor i Python
Funktion returnerar
df.isna().sum() antal saknade
df['feature'].mean() särdragets medelvärde
.shape rad- och kolumndimensioner
df.columns kolumnnamn
.fillna(0) fyller saknade med 0
select_dtypes(include = [np.number] ) numeriska kolumner
select_dtypes(include = ['object'] ) strängkolumner
.fit_transform(numeric_cols) anpassar och transformerar
Öva på maskininlärningsintervjufrågor i Python

Effekter av saknade värden

Vad är effekterna av saknade värden i ett maskininlärningssammanhang (ML)? Välj det svar som är sant:

  • Saknade värden är inget problem eftersom de flesta av sklearn's algoritmer kan hantera dem.
  • Att ta bort observationer eller särdrag med saknade värden är generellt sett en bra idé.
  • Saknade data tenderar att introducera skevhet som leder till missvisande resultat och kan därför inte ignoreras.
  • Att fylla saknade värden med noll ger en uppåtgående skevhet i resultaten.
Öva på maskininlärningsintervjufrågor i Python

Effekter av saknade värden: svar

Vad är effekterna av saknade värden i ett maskininlärningssammanhang (ML)? Rätt svar är:

  • Saknade data tenderar att introducera skevhet som leder till missvisande resultat och kan därför inte ignoreras. (Det bästa tillvägagångssättet är att fylla saknade värden med den metod som påverkar variansen minst.)
Öva på maskininlärningsintervjufrågor i Python

Effekter av saknade värden: felaktiga svar

Vad är effekterna av saknade värden i ett maskininlärningssammanhang (ML)?

  • Saknade värden är inget problem... (De flesta av sklearn's algoritmer kan inte hantera saknade värden och kommer att ge ett fel.)
  • Att ta bort observationer eller särdrag med saknade värden... (Om inte datamängden är stor och andelen saknade värden liten, leder borttagning av rader eller kolumner vanligtvis till att datamängden krymper för mycket för att vara användbar i efterföljande ML.)
  • Att fylla saknade värden med noll ger en uppåtgående skevhet. (Det är tvärtom – att fylla med noll ger en nedåtgående skevhet.)
Öva på maskininlärningsintervjufrågor i Python

Nu kör vi en övning!

Öva på maskininlärningsintervjufrågor i Python

Preparing Video For Download...