PCA về dữ liệu văn bản chiều cao trước khi phân loại rừng ngẫu nhiên?


13

Liệu có ý nghĩa gì khi làm PCA trước khi thực hiện Phân loại rừng ngẫu nhiên?

Tôi đang xử lý dữ liệu văn bản có chiều cao và tôi muốn thực hiện giảm tính năng để giúp tránh lời nguyền về chiều, nhưng không phải Rừng ngẫu nhiên đã giảm một số loại kích thước?


7
Thuật toán RF không thực sự chịu số lượng dự đoán cao vì nó chỉ lấy một tập hợp con ngẫu nhiên của chúng (được gọi là mtrytham số) để xây dựng mỗi cây. Ngoài ra còn có một kỹ thuật loại bỏ tính năng đệ quy được xây dựng dựa trên thuật toán RF (xem gói varSelRF R và các tài liệu tham khảo trong đó). Tuy nhiên, chắc chắn có thể thêm một sơ đồ giảm dữ liệu ban đầu, mặc dù nó phải là một phần của quá trình xác thực chéo. Vì vậy, câu hỏi là: bạn có muốn nhập kết hợp tuyến tính các tính năng của mình vào RF không?
chl

Có bao nhiêu tính năng / kích thước, F? > 1K? > 10K? Là các tính năng rời rạc hoặc liên tục, ví dụ tần số thuật ngữ, tfidf, số liệu tương tự, vectơ từ hoặc những gì? Thời gian chạy PCA là bậc hai với F.
smci


Câu trả lời:


12

Leo Brieman đã viết rằng "chiều hướng có thể là một phước lành". Nói chung, các khu rừng ngẫu nhiên có thể chạy trên các tập dữ liệu lớn mà không gặp vấn đề gì. Dữ liệu của bạn lớn đến mức nào? Các lĩnh vực khác nhau xử lý mọi thứ theo những cách khác nhau tùy thuộc vào kiến ​​thức chủ đề. Ví dụ, trong các nghiên cứu biểu hiện gen, các gen thường bị loại bỏ dựa trên phương sai thấp (không nhìn trộm kết quả) trong một quá trình đôi khi được gọi là lọc không đặc hiệu. Điều này có thể giúp với thời gian chạy trên các khu rừng ngẫu nhiên. Nhưng nó không bắt buộc.

Bám sát ví dụ biểu hiện gen, đôi khi các nhà phân tích sử dụng điểm PCA để thể hiện các phép đo biểu hiện gen. Ý tưởng là thay thế các hồ sơ tương tự bằng một điểm có khả năng ít lộn xộn hơn. Các khu rừng ngẫu nhiên có thể được chạy cả trên các biến ban đầu hoặc điểm PCA (thay thế cho các biến). Một số đã báo cáo kết quả tốt hơn với phương pháp này, nhưng không có so sánh tốt với kiến ​​thức của tôi.

Tóm lại, không cần làm PCA trước khi chạy RF. Nhưng bạn có thể. Việc giải thích có thể thay đổi tùy thuộc vào mục tiêu của bạn. Nếu tất cả những gì bạn muốn làm là dự đoán, việc giải thích có thể ít quan trọng hơn.


Cảm ơn bạn đã phản hồi. Tốc độ là một vấn đề, hơn nữa bởi vì tôi có hàng ngàn nhãn có thể có trong một vấn đề đa nhãn. Ứng dụng này đang phân loại một kho dữ liệu văn bản được rút ra từ mô tả của cả twitter và các nhà phân tích về các sự kiện nhất định. Tôi đang sử dụng trọng số tf-idf và mô hình từ.
Maus

8

Tôi muốn thêm hai xu của mình vào đây vì tôi nghĩ các câu trả lời hiện tại không đầy đủ.

Việc thực hiện PCA có thể đặc biệt hữu ích trước khi huấn luyện một khu rừng ngẫu nhiên (hoặc LightGBM hoặc bất kỳ phương pháp dựa trên cây quyết định nào khác) vì một lý do cụ thể mà tôi đã minh họa trong hình dưới đây.

Về cơ bản, nó có thể làm cho quá trình tìm ranh giới quyết định hoàn hảo dễ dàng hơn nhiều bằng cách sắp xếp tập huấn luyện của bạn dọc theo các hướng có phương sai cao nhất.

Cây quyết định rất nhạy cảm với việc xoay dữ liệu, vì ranh giới quyết định mà chúng tạo ra luôn luôn là dọc / ngang (nghĩa là vuông góc với một trong các trục). Do đó, nếu dữ liệu của bạn trông giống như pic bên trái, sẽ cần một cây lớn hơn nhiều để tách hai cụm này (trong trường hợp này là cây 8 lớp). Nhưng nếu bạn căn chỉnh dữ liệu của mình dọc theo các thành phần chính của nó (như trong hình bên phải), bạn có thể đạt được sự phân tách hoàn hảo chỉ với một lớp!

Tất nhiên, không phải tất cả các bộ dữ liệu đều được phân phối như thế này, vì vậy PCA có thể không phải lúc nào cũng có ích, nhưng vẫn rất hữu ích để thử và xem nếu có. Và chỉ là một lời nhắc, đừng quên bình thường hóa tập dữ liệu của bạn theo phương sai đơn vị trước khi thực hiện PCA!

Tái bút: Về việc giảm kích thước, tôi sẽ đồng ý với những người còn lại ở chỗ nó thường không phải là vấn đề lớn đối với các khu rừng ngẫu nhiên như đối với các thuật toán khác. Tuy nhiên, nó có thể giúp tăng tốc độ đào tạo của bạn một chút. Thời gian đào tạo cây quyết định là O (n m log (m)), trong đó n là số lượng phiên bản đào tạo, m - số thứ nguyên. Và mặc dù các khu rừng ngẫu nhiên chọn ngẫu nhiên một tập hợp kích thước cho mỗi cây được đào tạo, phần thấp hơn trong tổng số kích thước bạn chọn, bạn càng cần đào tạo nhiều cây hơn để đạt được hiệu suất tốt.

nhập mô tả hình ảnh ở đây


1

PCA trước rừng ngẫu nhiên có thể hữu ích không phải để giảm kích thước mà là cung cấp cho bạn dữ liệu hình dạng trong đó rừng ngẫu nhiên có thể hoạt động tốt hơn.

Tôi chắc chắn rằng nói chung nếu bạn chuyển đổi dữ liệu của mình với PCA giữ nguyên chiều của dữ liệu gốc, bạn sẽ có một phân loại tốt hơn với rừng ngẫu nhiên


Thời gian chạy PCA là bậc hai với số lượng tính năng F, vì vậy nó không phải lúc nào cũng rẻ.
smci

bởi nước hoa tôi có nghĩa là nước hoa dự đoán. Tôi đã không đề cập đến thời gian tính toán
Donbeo

2
Bạn có thể thêm một số biện minh cho yêu cầu của bạn? Có vẻ như PCA sẽ không luôn luôn cải thiện kết quả. Ví dụ: khi ranh giới quyết định là bất biến đối với các phép quay (ví dụ: vòng tròn), PCA thực hiện sẽ chỉ chỉnh lại và xoay dữ liệu (và do đó, vòng tròn), nhưng RF vẫn sẽ phải xấp xỉ ranh giới hình elip với nhiều phân chia hình chữ nhật.
Sycorax nói Phục hồi lại
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.