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

Connected

ćwiczenie

Proste podejście do brakujących i kategorycznych wartości

Regresja Random Forest jest na tyle odporna, że pozwala pominąć wiele czasochłonnych kroków przygotowania danych. Niektóre implementacje Random Forest obsługują brakujące i kategoryczne wartości automatycznie – implementacja w PySparku tego jednak nie robi. Matematyka pozostaje ta sama, więc możemy sobie pozwolić na proste zastępowanie wartości.

Ponieważ nasze dane są ściśle dodatnie, brakującym wartościom przypiszemy -1. Random Forest podzieli dane względem tej wartości i potraktuje ją inaczej niż pozostałe wartości w tej samej cesze.

W przypadku wartości kategorycznych możemy po prostu odwzorować wartości tekstowe na liczby – Random Forest odpowiednio sobie z nimi poradzi, dzieląc na ich podstawie. W tym ćwiczeniu odświeżymy znajomość pipelines z kursu Introduction to PySpark, żeby napisać kod bardziej zwięźle. Zwróć uwagę, że ćwiczenie zaczyna się od wyświetlenia dtypes kolumn w ramce danych – porównaj je z wynikami na końcu tego ćwiczenia.

UWAGA: Pipeline i StringIndexer są już zaimportowane. Lista categorical_cols jest również dostępna.

Instrukcje

100 XP
  • Zastąp brakujące wartości w kolumnach WALKSCORE i BIKESCORE wartością -1, używając fillna() z parametrem subset.
  • Utwórz listę obiektów StringIndexer, korzystając z list comprehension, aby iterować po każdej kolumnie w categorical_cols.
  • Zastosuj fit() i transform() do potoku indexer_pipeline.
  • Usuń kolumny categorical_cols za pomocą drop(), ponieważ nie są już potrzebne. Sprawdź wynikowe typy danych, używając dtypes.