Số lượng thành phần chính khi tiền xử lý sử dụng PCA trong gói caret trong R


11

Tôi đang sử dụng caretgói trong Rđào tạo phân loại SVM nhị phân. Để giảm các tính năng, tôi đang tiền xử lý với PCA bằng tính năng tích hợp preProc=c("pca")khi gọi train(). Đây là câu hỏi của tôi:

  1. Làm thế nào để caret chọn thành phần chính?
  2. Có một số lượng cố định của các thành phần chính được chọn?
  3. Các thành phần chính được chọn theo một số lượng phương sai được giải thích (ví dụ 80%)?
  4. Làm cách nào tôi có thể đặt số lượng thành phần chính được sử dụng để phân loại?
  5. (Tôi hiểu rằng PCA nên là một phần của xác thực chéo bên ngoài để cho phép ước tính dự đoán đáng tin cậy.) PCA cũng nên được thực hiện trong chu trình xác thực chéo bên trong (ước tính tham số)?
  6. Làm thế nào để caret thực hiện PCA trong xác nhận chéo?

Thông tin hữu ích có thể được tìm thấy trong bài viết này trên PCA và k lần cross-validation trong gói caret trong R .
Ekaba Bisong 7/12/2016

Câu trả lời:


13

Theo mặc định, caret giữ các thành phần giải thích 95% phương sai.
Nhưng bạn có thể thay đổi nó bằng cách sử dụng threshtham số.

# Example
preProcess(training, method = "pca", thresh = 0.8)

Bạn cũng có thể đặt một số thành phần cụ thể bằng cách đặt pcaComptham số.

# Example
preProcess(training, method = "pca", pcaComp = 7)

Nếu bạn sử dụng cả hai tham số, pcaCompđã được ưu tiên hơn thresh.

Vui lòng xem: https://www.rdocumentation.org/packages/caret/versions/6.0-77/topics/preProcess


Thật không may, liên kết bị hỏng
R Kiselev

đã sửa liên kết
Jacques Wainer
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.