Bắt đầu ngayBắt đầu miễn phí

Mã hóa biến phân loại

Đồng nghiệp của bạn đã chuyển các cột trong bộ dữ liệu tín dụng sang giá trị số bằng LabelEncoder(). Anh ấy bỏ sót một cột: credit_history, ghi nhận lịch sử tín dụng của người nộp đơn. Bạn muốn tạo hai phiên bản của bộ dữ liệu. Một phiên bản dùng LabelEncoder() và một phiên bản dùng one-hot encoding để so sánh. Ma trận đặc trưng đã có sẵn dưới tên credit. Bạn đã có LabelEncoder() được nạp sẵn và pandaspd.

Bài tập này là một phần của khóa học

Thiết kế quy trình Machine Learning bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Mã hóa credit_history bằng LabelEncoder().
  • Nối kết quả vào khung dữ liệu gốc.
  • Tạo một khung dữ liệu mới bằng cách nối các biến giả (1-hot encoding dummies) vào khung gốc.
  • Xác nhận rằng one-hot encoding tạo ra nhiều cột hơn so với label encoding.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Create numeric encoding for credit_history
credit_history_num = ____.____(
  credit[____])

# Create a new feature matrix including the numeric encoding
X_num = pd.concat([X, pd.Series(____)], ____)

# Create new feature matrix with dummies for credit_history
X_hot = pd.concat(
  [X, ____.____(credit[____])], ____)

# Compare the number of features of the resulting DataFrames
print(X_hot.shape[____] > X_num.shape[____])
Chỉnh sửa và Chạy Mã