Gestire i valori mancanti

Esercitarsi con le domande di colloquio di Machine Learning in Python

Lisa Stuart

Data Scientist

Prerequisiti

Esercitarsi con le domande di colloquio di Machine Learning in Python

Struttura del corso

  • Capitolo 1: Preprocessing e visualizzazione
    • Valori mancanti, Outlier, Normalizzazione
  • Capitolo 2: Apprendimento supervisionato
    • Selezione delle feature, Regolarizzazione, Feature engineering
  • Capitolo 3: Apprendimento non supervisionato
    • Scelta dell’algoritmo di clustering, Estrazione delle feature, Riduzione dimensionale
  • Capitolo 4: Selezione e valutazione del modello
    • Generalizzazione e valutazione, Selezione del modello
Esercitarsi con le domande di colloquio di Machine Learning in Python

Pipeline di machine learning (ML)

Panoramica pipeline

Esercitarsi con le domande di colloquio di Machine Learning in Python

La nostra pipeline ML

Pipeline

Esercitarsi con le domande di colloquio di Machine Learning in Python

Valori mancanti

  • Impatto delle diverse tecniche
  • Trovare i valori mancanti
  • Strategie di gestione
Esercitarsi con le domande di colloquio di Machine Learning in Python

Tecniche

  1. Omissione
    • Rimozione righe --> .dropna(axis=0)
    • Rimozione colonne --> .dropna(axis=1)
  2. Imputazione
    • Riempi con zero --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputa media -> SimpleImputer(strategy='mean')
    • Imputa mediana --> SimpleImputer(strategy='median')
    • Imputa moda --> SimpleImputer(strategy='most_frequent')
    • Imputazione iterativa --> IterativeImputer()
Esercitarsi con le domande di colloquio di Machine Learning in Python

Perché preoccuparsi?

  • Ridurre la probabilità di introdurre bias
  • La maggior parte degli algoritmi ML richiede dati completi
Esercitarsi con le domande di colloquio di Machine Learning in Python

Effetti dell’imputazione

  • Dipende da:
    • Valori mancanti
    • Varianza originale
    • Presenza di outlier
    • Entità e direzione della skewness
  • Omissione --> Può rimuovere troppo
  • Zero --> Bias verso il basso
  • Media --> Più influenzata dagli outlier
  • Mediana --> Meglio con outlier
  • Moda e imputazione iterativa--> Da provare
Esercitarsi con le domande di colloquio di Machine Learning in Python
Funzione restituisce
df.isna().sum() numero mancanti
df['feature'].mean() media feature
.shape dimensioni (righe, colonne)
df.columns nomi colonne
.fillna(0) riempie i mancanti con 0
select_dtypes(include = [np.number] ) colonne numeriche
select_dtypes(include = ['object'] ) colonne stringa
.fit_transform(numeric_cols) fitta e trasforma
Esercitarsi con le domande di colloquio di Machine Learning in Python

Effetti dei valori mancanti

Quali sono gli effetti dei valori mancanti in ML? Seleziona l’affermazione vera:

  • I valori mancanti non sono un problema perché gran parte degli algoritmi di sklearn li gestisce.
  • Rimuovere osservazioni o feature con valori mancanti è di solito una buona idea.
  • I dati mancanti tendono a introdurre bias e risultati fuorvianti, quindi non possono essere ignorati.
  • Riempire i mancanti con zero porta bias verso l’alto.
Esercitarsi con le domande di colloquio di Machine Learning in Python

Effetti dei valori mancanti: risposta

Quali sono gli effetti dei valori mancanti in ML? La risposta corretta è:

  • I dati mancanti tendono a introdurre bias e risultati fuorvianti, quindi non possono essere ignorati. (Testare i metodi di imputazione e scegliere quello che impatta meno la varianza del dataset è l’approccio migliore.)
Esercitarsi con le domande di colloquio di Machine Learning in Python

Effetti dei valori mancanti: risposte errate

Quali sono gli effetti dei valori mancanti in ML?

  • I valori mancanti non sono un problema... (La maggior parte degli algoritmi di sklearn non li gestisce e genera un errore.)
  • Rimuovere osservazioni o feature con valori mancanti... (A meno che il dataset sia grande e la quota di mancanti piccola, togliere righe o colonne spesso lo riduce troppo per l’uso in ML.)
  • Riempire i mancanti con zero porta bias verso l’alto. (È il contrario: riempire con zero porta bias verso il basso.)
Esercitarsi con le domande di colloquio di Machine Learning in Python

Vamos praticar!

Esercitarsi con le domande di colloquio di Machine Learning in Python

Preparing Video For Download...