KNA的PCA:插入符号中的预处理参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KNA的PCA:插入符号中的预处理参数相关的知识,希望对你有一定的参考价值。

我正在对我的数据进行knn回归,并希望:

a)通过重复交叉验证以找到最佳的k;

b)在建立knn模型时,使用90%水平阈值的PCA来降低维数。

library(caret)
library(dplyr)
set.seed(0)
data = cbind(rnorm(15, 100, 10), matrix(rnorm(300, 10, 5), ncol = 20)) %>% 
  data.frame()

colnames(data) = c('True', paste0('Day',1:20))
tr = data[1:10, ] #training set
tt = data[11:15,] #test set

train.control = trainControl(method = "repeatedcv", number = 5, repeats=3)
k = train(True ~ .,
          method     = "knn",
          tuneGrid   = expand.grid(k = 1:10),
          trControl  = train.control, 
          preProcess = c('scale','pca'),
          metric     = "RMSE",
          data       = tr)

我的问题是:目前PCA阈值默认为95%(不确定),如何将其更改为80%?

答案

您可以尝试在trainControl中添加preProcOptions参数

train.control = trainControl(method = "repeatedcv", number = 5, repeats=3, preProcOptions = list(thresh = 0.80))

以上是关于KNA的PCA:插入符号中的预处理参数的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

片段(Java) | 机试题+算法思路+考点+代码解析 2023

是否可以在 Scintilla 中突出显示的文本片段之间进行插入符号跳转?

R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行主成分分析PCA(principal components analysis)设置method参数为pca

从 AngularJS url 中删除片段标识符(# 符号)

未解决的对“片段”部分中的符号“”的引用