Lựa chọn tính năng và phân loại chính xác quan hệ


10

Một trong những phương pháp để chọn một tập hợp con các tính năng khả dụng cho trình phân loại của bạn là xếp hạng chúng theo tiêu chí (chẳng hạn như thu thập thông tin) và sau đó tính toán độ chính xác bằng cách sử dụng trình phân loại của bạn và tập hợp con của các tính năng được xếp hạng.

Ví dụ: nếu các tính năng của bạn là A, B, C, D, Evà nếu chúng được xếp hạng như D,B,C,E,Asau, thì bạn tính toán độ chính xác bằng cách sử dụng D, sau D, Bđó D, B, C, sau đó D, B, C, E... cho đến khi độ chính xác của bạn bắt đầu giảm. Khi nó bắt đầu giảm, bạn ngừng thêm tính năng.

Ví dụ 1

Trong ví dụ1 (ở trên), bạn sẽ chọn các tính năng F, C, D, Avà loại bỏ các tính năng khác khi chúng làm giảm độ chính xác của bạn.

Phương pháp đó giả định rằng việc thêm nhiều tính năng vào mô hình của bạn sẽ tăng độ chính xác của trình phân loại cho đến một điểm nhất định sau đó thêm các tính năng bổ sung sẽ làm giảm độ chính xác (như đã thấy trong ví dụ 1)

Tuy nhiên, tình hình của tôi thì khác. Tôi đã áp dụng phương pháp được mô tả ở trên và tôi thấy rằng việc thêm nhiều tính năng làm giảm độ chính xác cho đến khi điểm đó tăng lên.

Ví dụ2

Trong một kịch bản như kịch bản này, làm thế nào để bạn chọn các tính năng của mình? Bạn chỉ chọn Fvà thả phần còn lại? Bạn có biết tại sao độ chính xác sẽ giảm và sau đó tăng?

Câu trả lời:


4

lựa chọn tính năng liên quan đến một số cách tiếp cận giống như các phương pháp cho máy học. Ý tưởng là giữ hầu hết các tính năng có liên quan nhưng không dư thừa cho mô hình dự đoán có thể mang lại độ chính xác tối ưu.

Trong trường hợp của bạn, tôi không thể biết bạn đang sử dụng phương pháp nào để lựa chọn tính năng nhưng giả sử rằng bạn không tính đến tính chất đa biến của sự phụ thuộc tính năng. Giả sử bạn có N tính năng, có thể lý do độ chính xác mô hình của bạn giảm sau n tính năng hàng đầu nhưng cải thiện bằng cách thêm n + k (trong đó n <k <N khi các tính năng theo thứ tự giảm dần dựa trên mức tăng thông tin) là do liên thông phụ thuộc (liên quan nhiều hơn và dự phòng ít hơn) của các tính năng n và k hàng đầu. Lựa chọn tính năng đơn biến không nhất thiết phải có độ chính xác mô hình tối ưu khi các tính năng phụ thuộc lẫn nhau và không loại trừ lẫn nhau. Từ quan điểm triết học, tập hợp các tính năng tối ưu tương tự như một câu trích dẫn của Aristotle: "Toàn bộ lớn hơn tổng số các phần của nó"!

Để lựa chọn tính năng tối ưu, tôi thường là gói Caret trong Rngôn ngữ nơi người ta có thể thực hiện lựa chọn tính năng bằng cách sử dụng loại bỏ tính năng đệ quy (RFE) trong số một số phương pháp khác. Ngoài ra còn có một gói được gọi là mRMRe để thực hiện lựa chọn tính năng dựa trên mức độ phù hợp tối đa, dự phòng tối thiểu.

Tốt nhất,
Samir


Tôi đã soạn thảo trả lời từ điện thoại di động và không nhận ra rằng hai câu trả lời trước đó khá giống nhau! Lỗi của tôi trong việc không bình luận cho những người và thay vào đó trả lời riêng.
Samir

Quan điểm của bạn về các tính năng dư thừa là tại chỗ. Tôi đã kiểm tra và tôi có thể xác nhận rằng 3 tính năng có mức tăng thông tin cao thực sự là dư thừa (tương quan cao với nhau). Điều này giải thích tại sao độ chính xác giảm khi sử dụng các tính năng đó một cách liên tục: qua tính năng đầu tiên, tính năng bổ sung không thêm "thứ nguyên dữ liệu" mới vào tập dữ liệu của tôi và thay vào đó, chúng tạo ra tiếng ồn vì chúng chỉ "lặp lại" những gì các trình phân loại đã biết cảm ơn tính năng đầu tiên. Tuy nhiên, các tính năng khác với mức tăng thông tin ít hơn, hãy thêm một thứ nguyên dữ liệu mới.
Pauline

1

Về câu hỏi cụ thể

Bạn không nên mong đợi một hành vi cụ thể (tăng và sau đó giảm độ chính xác) trong khi bạn chọn tập hợp con các tính năng, vì điều này sẽ hoàn toàn phụ thuộc vào vấn đề (và từng mô hình)

Khi bạn tính toán tầm quan trọng khác nhau của các tính năng, bạn đang tính đến sự đóng góp của tất cả các tính năng cùng một lúc. Khi bạn chọn một tập hợp con các tính năng và xây dựng một mô hình mới, bạn sẽ nhận được một biểu diễn hoặc mô hình hóa khác nhau của vấn đề (không tính đến các tính năng khác - có thông tin hay không -).

Bây giờ, bạn muốn chọn số lượng tính năng tốt nhất. Điều này cũng sẽ phụ thuộc vào vấn đề của bạn và các đặc điểm hoặc điều kiện bạn cần thực hiện. Nếu bạn thực sự cần có ít tính năng nhất có thể trong khi tối ưu hóa độ chính xác dự đoán, bạn có thể chọn số lượng tính năng thấp nhất đạt được lỗi thấp nhất ... và, nếu bạn gặp các trường hợp khác nhau có lỗi rất giống nhau, hãy chọn ngưỡng, quan sát các trường hợp hàng đầu có sai số theo cặp thấp hơn ngưỡng và chọn một (ví dụ: trường hợp có số lượng tính năng thấp hơn - vì các lỗi này không giống nhau -).

Xem xét loại bỏ tính năng đệ quy

Phương pháp bạn đang sử dụng có thể không phải là phương pháp ổn định nhất. Bạn nên xem xét thử một cái gì đó như loại bỏ tính năng đệ quy (RFE), một phương thức trình bao bọc trong đó bạn xây dựng trình phân loại, xếp hạng tất cả các tính năng, loại bỏ điều tồi tệ nhất và xây dựng lại mô hình trên các tính năng còn lại. Sau đó, bạn lặp lại phương pháp một lần nữa. Điều này sẽ có xu hướng ổn định hơn ... và bạn nên mong đợi thứ hạng khác nhau mọi lúc.

Phương sai cũng là một yếu tố quan trọng

Ngoài lỗi thực tế (hoặc độ chính xác) mà mô hình đưa ra cho bạn với mỗi tập hợp con, bạn nên xem xét để xây dựng từng mô hình thông qua quy trình xác thực chéo và tính đến cả lỗi trung bình của các nếp gấp và độ lệch chuẩn của các lỗi này. Nếu độ lệch chuẩn cao, thì tập hợp con các tính năng được chọn sẽ không ổn định và sẽ có xu hướng thay đổi nhiều khi thử nghiệm với dữ liệu không nhìn thấy. Điều này rất quan trọng để đánh giá khả năng khái quát hóa dự kiến ​​của mô hình và có thể hữu ích cho việc quyết định giữa các mô hình (được xây dựng với các tập hợp con khác nhau).


1

Bạn cần xóa cả các tính năng dư thừa và không liên quan khỏi bộ dữ liệu của mình. Có thể thấy rằng có các tính năng không liên quan và dư thừa trong tập dữ liệu của bạn.

Tôi khuyên bạn nên xem xét thuật toán Lựa chọn tính năng liên quan tối đa dự phòng (MRMR) tối thiểu. Nó là một bộ lọc rất phổ biến và mạnh mẽ trước khi đào tạo mô hình của bạn.

"Tuy nhiên, tình huống của tôi thì khác. Tôi đã áp dụng phương pháp được mô tả ở trên và tôi thấy rằng việc thêm nhiều tính năng làm giảm độ chính xác cho đến khi điểm đó tăng lên"

Cũng có thể, nhưng điều này sẽ dẫn đến mô hình phức tạp hơn.


1

Nói chung có ba loại thuật toán lựa chọn tính năng.

  • Các phương pháp lọc phân tích các thuộc tính nội tại của dữ liệu và gán điểm cho từng tính năng, không liên quan đến bất kỳ mô hình nào. Một số ví dụ là thay đổi lần, kiểm tra t sinh viên.

  • Các phương thức trình bao mà các tập hợp con khác nhau của các tính năng được chọn thông qua các thuật toán cụ thể. Sau đó, chúng tôi phù hợp với mô hình phân loại hoặc hồi quy để đánh giá từng lựa chọn và chọn một mô hình có giá trị thể lực tốt nhất. Một số ví dụ là Thuật toán di truyền để lựa chọn tính năng, tối ưu hóa Monte Carlo để lựa chọn tính năng, lựa chọn tiến / lùi từng bước.

  • Các phương pháp nhúng cho phép bản thân mô hình chọn các tính năng có đóng góp tốt nhất cho sự phù hợp của mô hình. Những cái điển hình là LASSO, hồi quy sườn núi.

Dưới đây là một bài viết tuyệt vời chi tiết giới thiệu về lựa chọn tính năng .


Phương pháp được trình bày trong bài viết là một ví dụ về bộ lọc. Bộ lọc đã xếp hạng tất cả các tính năng và chủ đề là làm thế nào để chọn một tập hợp con của các tính năng được xếp hạng này.
Pauline
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.