使用 R 中插入符号包中的 PCA 进行预处理时的主成分数

机器算法验证 r 机器学习 主成分分析 交叉验证 插入符号
2022-03-05 19:35:33

我正在使用caretR来训练二进制 SVM 分类器。为了减少功能,我preProc=c("pca")在调用时使用内置功能使用 PCA 进行预处理train()以下是我的问题:

  1. 插入符号如何选择主成分?
  2. 是否选择了固定数量的主成分?
  3. 是否通过一定数量的解释方差(例如 80%)选择主成分?
  4. 如何设置用于分类的主成分数量?
  5. (我知道 PCA 应该是外部交叉验证的一部分,以允许可靠的预测估计。)PCA 是否也应该在内部交叉验证周期(参数估计)中实施?
  6. 插入符号如何在交叉验证中实现 PCA?
1个回答

默认情况下,插入符号保留解释 95% 方差的分量。
但是您可以通过使用thresh参数来更改它。

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

pcaComp您还可以通过设置参数来设置特定数量的组件。

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

如果同时使用这两个参数,pcaComp则优先于thresh.

请参阅:https ://www.rdocumentation.org/packages/caret/versions/6.0-77/topics/preProcess