Ich habe einen Datensatz, für den ich mehrere Sätze von binären Bezeichnungen habe. Für jeden Etikettensatz trainiere ich einen Klassifikator und bewerte ihn durch Kreuzvalidierung. Ich möchte die Dimensionalität mithilfe der Hauptkomponentenanalyse (PCA) reduzieren. Meine Frage ist:
Ist es möglich, die PCA einmal für den gesamten Datensatz durchzuführen und dann den neuen Datensatz mit niedrigerer Dimensionalität für die Kreuzvalidierung zu verwenden, wie oben beschrieben? Oder muss ich für jeden Trainingssatz eine separate PCA erstellen (was bedeutet, dass für jeden Klassifikator und für jede Kreuzvalidierungsfalte eine separate PCA erstellt wird)?
Einerseits verwendet die PCA die Etiketten nicht. Auf der anderen Seite werden die Testdaten für die Transformation verwendet, sodass ich befürchte, dass die Ergebnisse dadurch verzerrt werden könnten.
Ich sollte erwähnen, dass das einmalige Durchführen der PCA für den gesamten Datensatz nicht nur einige Arbeit erspart, sondern es mir auch ermöglicht, den Datensatz für alle Etikettensätze gleichzeitig zu visualisieren. Wenn ich für jeden Etikettensatz einen anderen PCA habe, muss ich jeden Etikettensatz separat visualisieren.
caret
Paket: PCA und k-fache Kreuzvalidierung in Caret durchführen .