Mã hóa các tính năng phân loại cao (nhiều loại) khi các tính năng khác nhau rất nhiều về tính chính xác


8

Tôi đã xem qua các câu hỏi liên quan đến mã hóa tính năng phân loại, nhưng không thể tìm thấy bất kỳ điều gì thảo luận về vấn đề của tôi. Xin lỗi nếu tôi bỏ lỡ nó.


Giả sử chúng ta có một bộ dữ liệu với các biến nhị phândanh nghĩa có tầm quan trọng gần như bằng nhau.

Hầu hết các phân loại không thể xử lý trực tiếp các loại phân loại, do đó chúng phải được chuyển đổi - ví dụ: sử dụng mã hóa một nóng (biến giả) như được giải thích trong câu trả lời này .

  • Nếu một biến phân loại có số lượng thẻ cao, bạn sẽ không mã hóa theo cách này "chế ngự" các biến khác (ví dụ nhị phân)? Theo "cardinality", ý tôi là số lượng danh mục trong một biến danh nghĩa.

  • Nếu mô hình phân loại của chúng tôi nhận thức được mối quan hệ giữa các biến, thì nó có cần thiết không cố gắng tìm mối quan hệ giữa các "thành phần" giả nhị phân được giới thiệu của cùng một biến không?

Và nếu vậy, làm thế nào điều này có thể được giải quyết?

Giải pháp tốt nhất tôi có thể nghĩ đến là phân nhóm một cách hợp lý các thuộc tính cardinality cao thành "xô", tuy nhiên nếu có đủ các giá trị duy nhất là một vấn đề, thì việc nhóm chúng cũng sẽ tốn nhiều công sức.


Chỉnh sửa: Đây là chuyện nhỏ và chỉ giải quyết được một phần vấn đề, nhưng một trong những điều tôi đã làm là thay thế tất cả các giá trị phân loại tương đối hiếm bằng một danh mục "khác" mới. Có thể mất thời gian để tối ưu hóa ngưỡng khi xem xét giá trị "hiếm", nhưng ít nhất phương pháp này có thể được tự động hóa.


1
Một giải pháp khác có thể là sử dụng Lasso với một số phiên bản của "Lasso được nhóm" để có được thuật toán đề xuất các danh mục có thể được hợp nhất, vì chúng giống nhau về mặt thống kê. Điều này đã được thảo luận ở đây trước đây, xem số liệu thống kê.stackexchange.com/questions / 46907 / Giả
kjetil b halvorsen

Câu trả lời:


8

Nếu một biến phân loại có số lượng thẻ cao, bạn sẽ không mã hóa theo cách này "chế ngự" các biến khác (ví dụ nhị phân)?

Nó phụ thuộc vào thuật toán.

Các thuật toán dựa trên việc lấy mẫu của các cột (rừng ngẫu nhiên, cây cực kỳ ngẫu nhiên, tăng cường độ dốc hoặc phân loại đóng gói ...) đào tạo rất nhiều mô hình trên các mẫu con của dữ liệu. Nếu 90% các cột của bạn đại diện cho một biến "giảm âm", thì có khả năng một số lượng lớn các mô hình đang thực sự hoạt động trên cùng một biến, do đó, làm cho chúng tương quan nhiều hơn so với mức cần thiết, do đó sẽ tăng hiệu suất.

Các phương pháp hồi quy tuyến tính sẽ không bị ảnh hưởng, chúng chỉ đơn giản sẽ tạo ra trọng số cho mọi biến nhị phân được tạo bởi biến được mã hóa.

Với hàng xóm gần nhất và phương pháp dựa trên sự tương đồng (như các SVM kernel), tác động cũng nên được hạn chế. Bất kể số lượng cột, điều duy nhất quan trọng cuối cùng là sản phẩm bên trong hoặc khoảng cách giữa hai dòng dữ liệu của bạn. Tuy nhiên, số lượng cột xuất phát từ một biến danh nghĩa, khoảng cách (hoặc sản phẩm bên trong) chỉ có thể là 0 hoặc 1 (các biến danh nghĩa có bằng nhau hay không).

Nếu mô hình phân loại của chúng tôi nhận thức được mối quan hệ giữa các biến, thì có nhất thiết phải cố gắng tìm mối quan hệ giữa các "thành phần" nhị phân được giới thiệu của cùng một biến không?

Trình phân loại của bạn "nhận thức" mối quan hệ giữa các biến như thế nào? Tôi không chắc chắn tôi có thể giải quyết câu hỏi này.

Và nếu vậy, làm thế nào điều này có thể được giải quyết?

Trong trường hợp của bất kỳ phương pháp nào dựa vào mẫu của các cột, các trọng số trước có thể được cung cấp cho các cột (để chúng không được chọn với cùng xác suất). Tuy nhiên, tôi không có bất kỳ triển khai nào trong tâm trí để làm điều này. Một sửa chữa nhanh chóng có thể là lặp lại các cột khác, do đó có khả năng được lựa chọn tăng giả tạo.

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.