Những thuật toán yêu cầu mã hóa một nóng?


12

Tôi không bao giờ chắc chắn khi nào nên sử dụng mã hóa một lần nóng cho các biến phân loại không theo thứ tự và khi nào không. Tôi sử dụng nó bất cứ khi nào thuật toán sử dụng một thước đo khoảng cách để tính toán độ tương tự. Bất cứ ai cũng có thể đưa ra một quy tắc chung về các loại thuật toán sẽ yêu cầu các tính năng phân loại không theo thứ tự được mã hóa một lần và những thuật toán nào sẽ không?


2
Bạn đang hỏi về sự cần thiết phải mã hóa dữ liệu phân loại thành một số loại "biến tương phản" hoặc cụ thể thành loại giả (một nóng)?
ttnphns

1
Câu hỏi này hơi rộng, nhưng một câu trả lời đơn giản giải quyết bản chất của OHE có thể làm sáng tỏ sự nhầm lẫn của OP. Sự tồn tại của những câu trả lời như vậy ngụ ý câu hỏi này là có thể trả lời được. Tôi đang bỏ phiếu để bỏ ngỏ.
gung - Phục hồi Monica

@ttnphns Thành thật tôi không biết ý của bạn về biến tương phản. Tôi chỉ quen với hình nộm.
cosmosa

Cosmos, dummy (= Indicator = one-hot) chỉ là một trong một số cách để mã hóa các phân loại phân loại trong các phân tích. Luận văn cách đơn giản được gọi là "biến tương phản". Xem thống kê.meta.stackexchange.com / q / 4699/3277stats.stackexchange.com/a/221868/3277
ttnphns

1
Tôi nghĩ rằng danh sách đầy đủ mà bạn yêu cầu sẽ khó sản xuất.
mdewey

Câu trả lời:


6

Hầu hết các thuật toán (hồi quy tuyến tính, hồi quy logistic, mạng nơ ron, máy vectơ hỗ trợ, v.v.) yêu cầu một số loại mã hóa trên các biến phân loại. Điều này là do hầu hết các thuật toán chỉ lấy giá trị số làm đầu vào.

Các thuật toán không yêu cầu mã hóa là các thuật toán có thể xử lý trực tiếp các phân phối riêng lẻ như chuỗi Markov / mạng Naive Bayes / Bayesian, dựa trên cây, v.v.

Ý kiến ​​khác:


Vẫn chưa rõ liệu có cần một mã hóa nóng cho ALGORITHMS NHẤT hay không. Bạn chỉ cần nói rằng mã hóa là bắt buộc. Nhưng nó có phải là một mã hóa nóng?
Prometheus

4

Bất cứ ai cũng có thể đưa ra một danh sách các thuật toán sẽ yêu cầu các tính năng phân loại phải được mã hóa nóng và những thuật toán nào không?

AFAIU, nó phải làm nhiều hơn với dữ liệu cụ thể , ít hơn với thuật toán cụ thể . Cụ thể, nó phụ thuộc vào việc có một số thứ tự có ý nghĩa trong danh mục hay không.

Hãy xem xét hai trường hợp. Trong lần đầu tiên bạn có các loại xấu, meh, tốt , và trong thứ hai bạn có táo, cam, lê . Có một trật tự tự nhiên trong trường hợp đầu tiên, bởi vì meh có lẽ ở giữa xấutốt , nhưng có lẽ không có gì tương tự xảy ra trong táo, cam, lê .

Nếu bạn tránh mã hóa một lần nóng cho trường hợp đầu tiên, bạn sẽ "mất" thông tin về đơn hàng. Nếu bạn sử dụng mã hóa một lần nóng cho trường hợp thứ hai, bạn đang gán một số thứ tự cho các danh mục không tự nhiên đúng.

Tôi làm điều đó bất cứ khi nào thuật toán sử dụng một thước đo khoảng cách để tính toán độ tương tự.

Tại sao? Giả sử một trong các tính năng là xấu phân loại , meh, tốt và bạn có ba trường hợp, 1, 2 và 3, trong đó chúng giống hệt nhau, ngoại trừ 1 là xấu , 2 là meh và 3 là tốt. Bạn có thể muốn diễn đạt với thuật toán rằng 1 giống với 2 hơn là 3.


2
Đó là một câu trả lời tốt. Tôi nên đã làm rõ câu hỏi mặc dù bao gồm các biến phân loại không theo thứ tự là tốt. Trong trường hợp đó, nó phải luôn luôn được mã hóa nóng?
cosmosa

@ cosmos1990 IMHO, theo nguyên tắc thông thường, đối với dữ liệu phân loại không theo thứ tự, mã hóa một nóng là cách để đi (trái ngược với việc gán các giá trị số).
Ami Tavory

2

Không có thuật toán học máy đòi hỏi một mã hóa nóng. Đây là một phương pháp để xử lý các biến phân loại. Biến giả là khác. Theo truyền thống, các biến giả là giải pháp ưa thích. Ví dụ, hàm R lm () tự động tạo các biến giả cho dữ liệu phân loại. Nếu bạn đang sử dụng python và scikt-learn thì tôi tin rằng rất nhiều thuật toán yêu cầu mã hóa nóng một lần các biến phân loại. Tôi tin rằng tenorFlow cũng yêu cầu mã hóa một nóng. Đây là những lựa chọn về cách biến được mã hóa. Không có lý do tại sao các biến giả không thể được sử dụng trong mã thay thế. Tất cả điều này phải đối phó với việc thực thi mã thực tế của thuật toán.

Như hxd1011 chỉ ra vấn đề mô tả 'khoảng cách' giữa các biến phân loại là một vấn đề tế nhị. Ngoài các khoảng cách được đề cập còn có khoảng cách Jaccard. Một số phương thức ML, đặc biệt là các SVM không phù hợp với dữ liệu phân loại và việc thêm các biến phân loại có thể / sẽ (cả hai, bạn quyết định) dẫn đến các mô hình có khả năng dự đoán rất kém. Hầu hết các mô hình tập hợp xử lý dữ liệu phân loại 'như hiện tại' và không yêu cầu xử lý trước.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.