Nhiều mô hình chỉ nhận đầu vào số nên biến phân loại (categorical) cần mã hoá.
- One-hot encoding — mỗi giá trị thành một cột nhị phân riêng. Không áp đặt thứ tự giả, phù hợp biến danh nghĩa (nominal) và mô hình tuyến tính. Nhược: bùng nổ chiều khi cardinality cao (nhiều giá trị khác nhau).
- Label (ordinal) encoding — gán mỗi giá trị một số nguyên. Gọn, nhưng ngầm áp đặt thứ tự và khoảng cách giữa các số → chỉ đúng cho biến có thứ tự (ordinal) thật, hoặc cho mô hình cây (cây chia theo ngưỡng nên ít nhạy). Dùng cho mô hình tuyến tính với biến nominal sẽ sai lệch.
- Target (mean) encoding — thay mỗi giá trị bằng trung bình của biến mục tiêu cho nhóm đó. Xử lý tốt cardinality cao, giữ được tín hiệu dự báo. Nhưng rủi ro rò rỉ mục tiêu và overfitting → phải mã hoá trong cross-validation / thêm smoothing, và fit chỉ trên tập train.
Chọn nhanh: cardinality thấp + nominal → one-hot; ordinal thật → ordinal; cardinality rất cao → target encoding (cẩn thận rò rỉ) hoặc embedding.