1. Nauka
  2. /
  3. Kursy
  4. /
  5. Extreme Gradient Boosting with XGBoost

Connected

ćwiczenie

Kodowanie kolumn kategorycznych I: LabelEncoder

Wiesz już, co trzeba zrobić, aby przygotować dane dotyczące nieruchomości dla XGBoost – teraz przejdziemy przez ten proces krok po kroku.

Na początku wypełnisz brakujące wartości – jak wcześniej widziano, kolumna LotFrontage zawiera ich wiele. Następnie zakodujemy numerycznie kolumny kategoryczne w zbiorze danych przy użyciu kodowania one-hot. Jeśli chcesz odświeżyć sobie tę koncepcję, możesz obejrzeć ten film z kursu Supervised Learning with scikit-learn.

Dane zawierają pięć kolumn kategorycznych: MSZoning, PavedDrive, Neighborhood, BldgType i HouseStyle. Scikit-learn udostępnia funkcję LabelEncoder, która przekształca wartości w każdej kolumnie kategorycznej na liczby całkowite. W tym ćwiczeniu przećwiczysz jej użycie.

Instrukcje

100 XP
  • Zaimportuj LabelEncoder z sklearn.preprocessing.
  • Wypełnij brakujące wartości w kolumnie LotFrontage wartością 0, używając metody .fillna().
  • Utwórz maskę logiczną dla kolumn kategorycznych – możesz to zrobić, sprawdzając, czy df.dtypes równa się object.
  • Utwórz obiekt LabelEncoder w taki sam sposób, jak tworzysz dowolny estymator scikit-learn.
  • Zakoduj wszystkie kolumny kategoryczne na liczby całkowite za pomocą LabelEncoder(). Użyj w tym celu metody .fit_transform() obiektu le w dostarczonej funkcji lambda.