Anzahl der Hauptkomponenten bei der Vorverarbeitung mit PCA im Caret-Paket in R.


11

Ich verwende das caretPaket in Rfür das Training von binären SVM-Klassifikatoren. Zur Reduzierung von Funktionen verarbeite ich mit PCA die integrierte Funktion, preProc=c("pca")wenn ich anrufe train(). Hier sind meine Fragen:

  1. Wie wählt Caret Hauptkomponenten aus?
  2. Gibt es eine feste Anzahl von Hauptkomponenten, die ausgewählt werden?
  3. Werden Hauptkomponenten durch einen gewissen Grad an erklärter Varianz ausgewählt (z. B. 80%)?
  4. Wie kann ich die Anzahl der für die Klassifizierung verwendeten Hauptkomponenten festlegen?
  5. (Ich verstehe, dass PCA Teil der äußeren Kreuzvalidierung sein sollte, um zuverlässige Vorhersageschätzungen zu ermöglichen.) Sollte PCA auch im inneren Kreuzvalidierungszyklus implementiert werden (Parameterschätzung)?
  6. Wie implementiert Caret PCA in der Kreuzvalidierung?

Nützliche Informationen finden Sie in diesem Beitrag nicht gefunden werden PCA und k-fach Kreuzvalidierung in caret Paket in R .
Ekaba Bisong

Antworten:


13

Standardmäßig behält Caret die Komponenten bei, die 95% der Varianz erklären.
Sie können es jedoch mithilfe des threshParameters ändern .

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

Sie können auch eine bestimmte Anzahl von Komponenten festlegen, indem Sie den pcaCompParameter einstellen .

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

Wenn Sie beide Parameter verwenden, pcaComphat Vorrang vor thresh.

Weitere Informationen finden Sie unter: https://www.rdocumentation.org/packages/caret/versions/6.0-77/topics/preProcess


Leider ist die Verbindung unterbrochen
R Kiselev

korrigierte den Link
Jacques Wainer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.