1. Nauka
  2. /
  3. Kursy
  4. /
  5. Inżynieria cech z PySpark

Connected

ćwiczenie

Usuwanie kolumn z małą liczbą obserwacji

Po intensywnej pracy nad inżynierią cech warto zatrzymać się i przejrzeć to, co udało się stworzyć. Jeśli korzystałeś z technik automatyzacji dla cech kategorycznych – takich jak rozwijanie wartości czy kodowanie OneHot – możesz teraz mieć setki nowych cech binarnych. Selekcja cech to temat na osobny kurs, ale już teraz możesz podjąć kilka prostych kroków, aby zmniejszyć wymiarowość swojego zbioru danych.

W tym ćwiczeniu usuniemy kolumny, które mają mniej niż 30 obserwacji. Liczba 30 to powszechnie przyjęte minimum zapewniające istotność statystyczną – przy mniejszej liczbie obserwacji relacje między zmiennymi mogą wynikać z czystego przypadku i prowadzić do przeuczenia modelu.

UWAGA: Dane są dostępne w ramce danych df.

Instrukcje

100 XP
  • Korzystając z dostarczonej pętli for, która iteruje po liście kolumn binarnych, oblicz sum wartości w kolumnie przy użyciu funkcji agg. Użyj collect(), aby natychmiast wykonać obliczenia i zapisz wynik do zmiennej obs_count.
  • Porównaj obs_count z obs_threshold – instrukcja if powinna być prawdziwa, gdy obs_count jest mniejsze lub równe obs_threshold.
  • Usuń kolumny dodane do listy cols_to_remove, używając funkcji drop(). Pamiętaj, że * pozwala na rozpakowanie listy.
  • Wyświetl początkowy i końcowy rozmiar ramek danych PySpark, używając count() do określenia liczby rekordów oraz len() na df.columns lub new_df.columns do określenia liczby kolumn.