Estoy usando el caret
paquete R
para entrenar clasificadores binarios SVM. Para la reducción de funciones, estoy preprocesando con PCA usando la función incorporada preProc=c("pca")
cuando llamo train()
. Aquí están mis preguntas:
- ¿Cómo selecciona caret los componentes principales?
- ¿Hay un número fijo de componentes principales que se selecciona?
- ¿Los componentes principales se seleccionan por alguna cantidad de varianza explicada (por ejemplo, 80%)?
- ¿Cómo puedo establecer el número de componentes principales utilizados para la clasificación?
- (Entiendo que PCA debería ser parte de la validación cruzada externa para permitir estimaciones de predicción confiables). ¿La PCA también debería implementarse en el ciclo interno de validación cruzada (estimación de parámetros)?
- ¿Cómo implementa caret PCA en la validación cruzada?
Respuestas:
Por defecto, caret mantiene los componentes que explican el 95% de la varianza.
Pero puede cambiarlo utilizando el
thresh
parámetroTambién puede establecer un número particular de componentes configurando el
pcaComp
parámetro.Si usa ambos parámetros,
pcaComp
tiene prioridad sobrethresh
.Consulte: https://www.rdocumentation.org/packages/caret/versions/6.0-77/topics/preProcess
fuente