Obsługa brakujących danych

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Lisa Stuart

Data Scientist

Wymagania wstępne

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Plan kursu

  • Rozdział 1: Przetwarzanie wstępne i wizualizacja
    • Brakujące dane, wartości odstające, normalizacja
  • Rozdział 2: Uczenie nadzorowane
    • Selekcja cech, regularyzacja, inżynieria cech
  • Rozdział 3: Uczenie nienadzorowane
    • Dobór algorytmu klastrowania, ekstrakcja cech, redukcja wymiarów
  • Rozdział 4: Wybór i ocena modeli
    • Generalizacja i ocena modeli, wybór modelu
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Potok uczenia maszynowego (ML)

Przegląd potoku

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Nasz potok ML

Potok

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Brakujące dane

  • Wpływ różnych technik
  • Wykrywanie brakujących wartości
  • Strategie postępowania z brakami
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Techniki

  1. Pominięcie
    • Usunięcie wierszy --> .dropna(axis=0)
    • Usunięcie kolumn --> .dropna(axis=1)
  2. Imputacja
    • Wypełnij zerem --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputacja średnią -> SimpleImputer(strategy='mean')
    • Imputacja medianą --> SimpleImputer(strategy='median')
    • Imputacja modą --> SimpleImputer(strategy='most_frequent')
    • Imputacja iteracyjna --> IterativeImputer()
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Dlaczego to ważne?

  • Zmniejsza prawdopodobieństwo wprowadzenia błędu systematycznego
  • Większość algorytmów ML wymaga kompletnych danych
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Efekty imputacji

  • Zależy od:
    • Brakujących wartości
    • Oryginalnej wariancji
    • Obecności wartości odstających
    • Wielkości i kierunku skośności
  • Pominięcie --> Może usunąć zbyt wiele
  • Zero --> Obniża wyniki (bias w dół)
  • Średnia --> Wrażliwsza na wartości odstające
  • Mediana --> Lepsza przy wartościach odstających
  • Moda i imputacja iteracyjna --> Warto wypróbować
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie
Funkcja zwraca
df.isna().sum() liczba brakujących
df['feature'].mean() średnia cechy
.shape wymiary: wiersze, kolumny
df.columns nazwy kolumn
.fillna(0) wypełnia braki wartością 0
select_dtypes(include = [np.number] ) kolumny numeryczne
select_dtypes(include = ['object'] ) kolumny tekstowe
.fit_transform(numeric_cols) dopasowuje i transformuje
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Efekty brakujących wartości

Jaki jest wpływ brakujących wartości w kontekście uczenia maszynowego (ML)? Wybierz odpowiedź prawdziwą:

  • Brakujące wartości nie stanowią problemu, gdyż większość algorytmów sklearn sobie z nimi radzi.
  • Usuwanie obserwacji lub cech z brakującymi wartościami jest na ogół dobrym pomysłem.
  • Brakujące dane wprowadzają błąd systematyczny prowadzący do mylących wyników i nie można ich ignorować.
  • Wypełnianie brakujących wartości zerem zawyża wyniki.
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Brakujące wartości: odpowiedź

Jaki jest wpływ brakujących wartości w kontekście uczenia maszynowego (ML)? Poprawna odpowiedź to:

  • Brakujące dane wprowadzają błąd systematyczny prowadzący do mylących wyników i nie można ich ignorować. (Najlepszym podejściem jest testowanie metod wypełniania brakujących wartości pod kątem minimalnego wpływu na wariancję zbioru danych.)
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Brakujące wartości: błędne odpowiedzi

Jaki jest wpływ brakujących wartości w kontekście uczenia maszynowego (ML)?

  • Brakujące wartości nie stanowią problemu... (Większość algorytmów sklearn nie obsługuje brakujących wartości i zgłosi błąd.)
  • Usuwanie obserwacji lub cech z brakującymi wartościami... (O ile zbiór danych nie jest duży, a odsetek brakujących wartości mały, usuwanie wierszy lub kolumn zazwyczaj nadmiernie zmniejsza zbiór i ogranicza jego przydatność w ML.)
  • Wypełnianie brakujących wartości zerem zawyża wyniki. (Jest odwrotnie – wypełnianie zerem zaniża wyniki.)
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Preparing Video For Download...