Estou usando o caret
pacote no R
treinamento de classificadores binários SVM. Para redução de recursos, estou pré-processando com o PCA usando o recurso incorporado preProc=c("pca")
ao chamar train()
. Aqui estão as minhas perguntas:
- Como o sinal de intercalação seleciona os principais componentes?
- Existe um número fixo de componentes principais que está selecionado?
- Os principais componentes são selecionados por alguma variação explicada (por exemplo, 80%)?
- Como posso definir o número de componentes principais usados para classificação?
- (Entendo que o PCA deve fazer parte da validação cruzada externa para permitir estimativas confiáveis de previsão.) O PCA também deve ser implementado no ciclo de validação cruzada interna (estimativa de parâmetros)?
- Como o sinal de intercalação implementa o PCA na validação cruzada?
r
machine-learning
pca
cross-validation
caret
brincadeira
fonte
fonte
Respostas:
Por padrão, o sinal de intercalação mantém os componentes que explicam 95% da variação.
Mas você pode alterá-lo usando o
thresh
parâmetroVocê também pode definir um número específico de componentes definindo o
pcaComp
parâmetroSe você usar os dois parâmetros, terá
pcaComp
precedênciathresh
.Consulte: https://www.rdocumentation.org/packages/caret/versions/6.0-77/topics/preProcess
fonte