Tính năng xây dựng trong R


8

Tôi tự hỏi nếu có bất kỳ thuật toán (có lẽ là thuật toán di truyền) trong R để xây dựng tính năng (lấy các dự đoán ứng cử viên từ các dự đoán hiện có)? Tôi đang nghĩ đến một thói quen để kiểm tra các quyền hạn, tương tác, tỷ lệ và kết hợp tuyến tính và các hàm phi tuyến của các biến hiện có (sin, cos, atan, v.v.).

Đây có thể là thói quen của bộ lọc hoặc trình bao bọc (nghĩa là không sử dụng thuật toán học hoặc sử dụng thuật toán để xác định tính phù hợp của tính năng).

Mục tiêu của tôi là "khám phá" các tỷ lệ có ý nghĩa tiềm năng và giống như các dự đoán hiện có.

Cảm ơn!


Bạn đã thử gói "Oblique.tree" chưa? cran.r-project.org/web/packages/oblique.tree/index.html tốt nhất

Câu trả lời:


3

Dường như với tôi rằng điều này sẽ khiến bạn rất dễ bị tổn thương trước các vấn đề như tương quan giả và thậm chí là quá mức. Tôi quên tên của nguyên tắc nói rằng càng nhiều mô hình bạn thử, nguy cơ vấp phải một mô hình xấu càng cao - nếu bạn thử nhiều mô hình để thực sự chạy một thuật toán di truyền, bạn có thể tưởng tượng nguyên tắc đó bị vi phạm như thế nào.


1
Tôi nghĩ rằng OP đang nói về việc sử dụng một thuật toán di truyền để trích xuất hoặc thiết kế các tính năng, chứ không phải để tìm các mô hình.
Aman

2

Bạn có thể thực hiện như thế này: bắt đầu từ data.frame, bạn thêm một bộ dự đoán được chuyển đổi 'hợp lý' hoặc thậm chí tương tác vào dữ liệu của bạn (model.matrix và tương tự sẽ có thể loại bỏ điều này).

Một khi bạn ở đó, bất kỳ phương pháp lựa chọn biến có thể làm. glmnetđến với tâm trí, nhưng có nhiều lựa chọn. Một bất lợi cho cách làm việc này là sẽ khó đảm bảo rằng hiệu ứng chính là trong mô hình khi có sự tương tác. Có lẽ một số hình thức lựa chọn biến hỗ trợ điều này, nhưng tôi biết không có hình thức rõ ràng nào ngoài các thủ tục từng bước (điều đó sẽ bất chấp mục đích).


1

Bạn có thể bắt đầu với một cái gì đó đơn giản như tìm các thành phần nguyên tắc hoặc các thành phần độc lập . Bạn cũng có thể có một chút điên rồ và tạo ra tất cả các tương tác 2 chiều của các biến của mình. Rõ ràng, khi bạn tạo và kiểm tra nhiều tính năng hơn, bạn cần một thuật toán lựa chọn tính năng mạnh mẽ hơn để chống lại quá mức.

Một số thuật toán mô hình hóa, như MARS , các khu rừng ngẫu nhiên và các SVM phi tuyến tính sẽ tự động tìm thấy các tương tác nhất định giữa các tính năng ban đầu của bạn.


1
(+1) Dường như với tôi rằng vấn đề với RF hoặc SVM (và nói chung hơn, bất kỳ phương pháp tập hợp nào) là các tương tác như vậy hiếm khi có thể diễn giải theo cách trực tiếp. Một số biến thể xung quanh việc đóng gói cho phép thực hiện lựa chọn tính năng trên loại dự đoán cụ thể đã được đề xuất, xem ví dụ gói logicFS .
chl
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.