1. Learn
  2. /
  3. Courses
  4. /
  5. Gradient Boosting Cực Mạnh với XGBoost

Connected

Exercise

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.

Instructions

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.