Boruta và SHAP để lựa chọn tính năng tốt hơn

Mar 22 2022
So sánh giữa các Kỹ thuật chọn tính năng khác nhau và cách chọn chúng
Khi chúng tôi thực hiện một tác vụ được giám sát, chúng tôi phải đối mặt với vấn đề là phải kết hợp lựa chọn tính năng phù hợp trong quy trình học máy của mình. Chỉ cần tìm kiếm trên mạng, chúng tôi truy cập vào nhiều nguồn và nội dung khác nhau nói về quá trình lựa chọn tính năng.
Ảnh của Krisztian Tabori trên Unsplash

Khi chúng tôi thực hiện một tác vụ được giám sát, chúng tôi phải đối mặt với vấn đề là phải kết hợp lựa chọn tính năng phù hợp trong quy trình học máy của mình. Chỉ cần tìm kiếm trên mạng, chúng tôi truy cập vào nhiều nguồn và nội dung khác nhau nói về quá trình lựa chọn tính năng.

Tóm lại, có nhiều cách khác nhau để thực hiện lựa chọn đối tượng địa lý. Nổi tiếng nhất trong văn học là các kỹ thuật dựa trên bộ lọc và dựa trên trình bao bọc . Trong các thủ tục dựa trên bộ lọc, các thuật toán hoặc thống kê không được giám sát được sử dụng để truy vấn các yếu tố dự đoán quan trọng nhất. Trong các phương pháp dựa trên trình bao bọc, các thuật toán học có giám sát được trang bị lặp đi lặp lại để loại trừ các tính năng ít quan trọng hơn.

Nói chung, các phương pháp dựa trên trình bao bọc là hiệu quả nhất vì chúng có thể trích xuất các mối tương quan và phụ thuộc giữa các đối tượng địa lý. Mặt khác, họ có xu hướng mặc trang phục quá lố. Để tránh sự thiếu hụt này và tận dụng những gì tốt nhất từ ​​các kỹ thuật dựa trên trình bao bọc, tất cả những gì chúng ta cần làm là áp dụng một số mẹo đơn giản nhưng hiệu quả. Chúng tôi có thể đạt được lựa chọn tính năng tốt hơn với một chút hiểu biết về dữ liệu và một thành phần bí mật . Đừng lo lắng, chúng tôi không sử dụng ma thuật hắc ám mà sử dụng sức mạnh của SHAP (SHapley Additive exPlanation) .

Để khai thác tốt hơn các khả năng của SHAP trong quá trình lựa chọn tính năng, chúng tôi đã phát hành shap-hypetune : một gói python để điều chỉnh hyperparameters đồng thời và lựa chọn tính năng. Nó cho phép kết hợp lựa chọn các tính năng và điều chỉnh các thông số trong một đường ống duy nhất được thiết kế riêng cho các mô hình tăng cường độ dốc. Nó hỗ trợ tìm kiếm theo lưới hoặc tìm kiếm ngẫu nhiên và cung cấp các thuật toán lựa chọn tính năng dựa trên trình bao bọc như Loại bỏ tính năng đệ quy (RFE), Bổ sung tính năng đệ quy (RFA) hoặc Boruta . Một bổ sung khác bao gồm việc sử dụng tầm quan trọng SHAP để lựa chọn đối tượng thay vì nhập đối tượng địa lý dựa trên cây gốc cổ điển.

Trong bài đăng này, chúng tôi trình bày tiện ích để thực hiện lựa chọn tính năng đúng cách. Điều này cho thấy không quá đơn giản như mong đợi nếu chúng ta đánh giá quá cao khả năng giải thích của việc tăng độ dốc hoặc đơn giản là chúng ta không có hiểu biết chung về dữ liệu. Phạm vi của chúng tôi là phát hiện các kỹ thuật lựa chọn tính năng khác nhau hoạt động tốt như thế nào và tại sao việc sử dụng SHAP có thể hữu ích.

BORUTA LÀ GÌ?

Mọi người đều biết (hoặc có thể dễ hiểu) cách hoạt động của tính năng Đệ quy Loại bỏ tính năng . Nó phù hợp một cách đệ quy với một thuật toán được giám sát xem xét các tập hợp tính năng nhỏ hơn. Trong đó các đối tượng bị loại trừ là các đối tượng được coi là ít quan trọng hơn theo độ lớn của một số trọng số (ví dụ: hệ số của mô hình tuyến tính hoặc nhập đặc trưng đối với mô hình dựa trên cây).

Boruta , giống như RFE, là một kỹ thuật dựa trên trình bao bọc để lựa chọn tính năng. Nó ít biết hơn nhưng cũng mạnh mẽ. Ý tưởng đằng sau Boruta thực sự rất đơn giản. Với một tập dữ liệu dạng bảng, chúng tôi lặp đi lặp lại một thuật toán được giám sát (thường là mô hình dựa trên cây) trên một phiên bản mở rộng của dữ liệu. Phiên bản mở rộng, trong mỗi lần lặp lại, bao gồm dữ liệu ban đầu với một bản sao cột xáo trộn theo chiều ngang được đính kèm. Chúng tôi chỉ duy trì các tính năng trong mỗi lần lặp lại:

  • có tầm quan trọng cao hơn so với các tính năng tốt nhất trong số các tính năng xáo trộn;
  • tốt hơn dự kiến ​​so với cơ hội ngẫu nhiên (sử dụng phân phối nhị thức).

CUỘC THÍ NGHIỆM

Chúng tôi thu thập tập dữ liệu từ Kaggle . Chúng tôi chọn tập dữ liệu khách hàng của ngân hàng, nơi chúng tôi cố gắng dự đoán xem khách hàng có xu hướng rời bỏ sớm hay không. Trước khi bắt đầu, chúng tôi thêm vào tập dữ liệu một số cột ngẫu nhiên được tạo bởi nhiễu đơn giản . Chúng tôi làm điều này để hiểu cách mô hình của chúng tôi tính toán tầm quan trọng của tính năng. Chúng tôi bắt đầu phù hợp và điều chỉnh tăng cường độ dốc (LGBM) của chúng tôi. Chúng tôi lặp lại quá trình này nhiều lần với các hạt tách khác nhau để ghi đè tính ngẫu nhiên trong việc lựa chọn dữ liệu. Các lần nhập tính năng trung bình được cung cấp bên dưới.

Các lần nhập tính năng trung bình trên các thử nghiệm phân tách khác nhau [hình ảnh của tác giả]

Đáng ngạc nhiên là các tính năng ngẫu nhiên rất quan trọng đối với mô hình của chúng tôi. Một giả định sai lầm khác bao gồm việc coi CustomerId là một công cụ dự đoán hữu ích. Đây là một số nhận dạng duy nhất của khách hàng được coi là quan trọng một cách sai lầm bởi quá trình tăng độ dốc.

Với những tiền đề này, chúng ta hãy thử một số kỹ thuật lựa chọn đối tượng địa lý trên dữ liệu của chúng tôi. Chúng tôi bắt đầu với RFE. Chúng tôi kết hợp việc điều chỉnh các thông số với quá trình lựa chọn tính năng. Như trước đây, chúng tôi lặp lại toàn bộ quy trình cho các hạt tách khác nhau để giảm thiểu tính ngẫu nhiên trong việc lựa chọn dữ liệu. Đối với mỗi thử nghiệm, chúng tôi lưu trữ các tính năng đã chọn xem xét các nhập khẩu tính năng dựa trên cây tiêu chuẩn và nhập khẩu SHAP. Bằng cách này, chúng tôi có thể vẽ biểu đồ số lần một đối tượng địa lý được chọn khi kết thúc thử nghiệm.

Số lần một đối tượng được chọn với RFE (trái); bao nhiêu lần một đối tượng được chọn bằng RFE + SHAP (bên phải) [hình ảnh của tác giả]

RFE với các nhập khẩu tiêu chuẩn cho thấy là không chính xác trong trường hợp của chúng tôi. Nó thường chọn các yếu tố dự đoán ngẫu nhiên có liên quan cùng với CustomerId. SHAP + RFE nó khá tốt hơn trong việc không chọn các tính năng vô dụng nhưng đồng thời thừa nhận một số lựa chọn sai.

Bước cuối cùng, chúng tôi lặp lại quy trình tương tự nhưng sử dụng Boruta.

Bao nhiêu lần một đối tượng được chọn với Boruta (trái); bao nhiêu lần một đối tượng được chọn với Boruta + SHAP (bên phải) [hình ảnh của tác giả]

Chỉ riêng Boruta tiêu chuẩn đã thực hiện một công việc tuyệt vời trong việc không xem xét các biến ngẫu nhiên và CustomerId . SHAP + BORUTA dường như cũng làm tốt hơn việc giảm phương sai trong quá trình lựa chọn.

TÓM LƯỢC

Trong bài đăng này, chúng tôi đã giới thiệu RFE và Boruta (từ shap-hypetune ) là hai phương pháp trình bao bọc có giá trị để lựa chọn đối tượng địa lý. Ngoài ra, chúng tôi đã thay thế cách tính mức độ quan trọng của đối tượng địa lý bằng SHAP. SHAP đã giúp giảm thiểu các tác động trong việc lựa chọn các biến tần số cao hoặc bản số cao . Tóm lại, chỉ riêng RFE có thể được sử dụng khi chúng ta có hiểu biết đầy đủ về dữ liệu. Boruta và SHAP có thể loại bỏ bất kỳ nghi ngờ nào về quy trình lựa chọn đã được xác thực đúng cách.

KIỂM TRA BÁO CÁO GITHUB CỦA TÔI

Giữ liên lạc: Linkedin

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved