1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Gradient Boosting Cực Mạnh với XGBoost

Connected

Bài tập

Mã hóa cột phân loại I: LabelEncoder

Bây giờ bạn đã thấy cần làm gì để chuẩn bị dữ liệu nhà ở cho XGBoost, hãy đi qua quy trình từng bước.

Trước tiên, bạn sẽ cần điền giá trị khuyết — như đã thấy, cột LotFrontage có khá nhiều giá trị thiếu. Tiếp theo, bạn cần mã hóa mọi cột phân loại trong tập dữ liệu bằng one-hot encoding để chúng được biểu diễn dưới dạng số. Bạn có thể xem video này từ khóa học Supervised Learning with scikit-learn để ôn lại ý tưởng.

Dữ liệu có năm cột phân loại: MSZoning, PavedDrive, Neighborhood, BldgType và HouseStyle. Scikit-learn có hàm LabelEncoder chuyển các giá trị trong mỗi cột phân loại thành số nguyên. Bạn sẽ thực hành sử dụng công cụ này tại đây.

Hướng dẫn

100 XP
  • Import LabelEncoder từ sklearn.preprocessing.
  • Điền các giá trị thiếu trong cột LotFrontage bằng 0 với .fillna().
  • Tạo một mặt nạ boolean cho các cột phân loại. Bạn có thể làm điều này bằng cách kiểm tra df.dtypes có bằng object hay không.
  • Tạo một đối tượng LabelEncoder. Bạn có thể khởi tạo theo cách tương tự như bất kỳ estimator nào của scikit-learn.
  • Mã hóa tất cả các cột phân loại thành số nguyên bằng LabelEncoder(). Để làm điều này, hãy dùng phương thức .fit_transform() của le trong hàm lambda đã cung cấp.