给贵宾犬或炸鸡的每个灰度图像提供了5000个SIFT功能,并要求我建立一个分类模型。

我在筛选功能矩阵上运行了preProcess函数:

mat1=preProcess(mat, method=c("pca", "zv"))


我得到的是一个“预处理”类,并且我不知道如何在以下函数调用中使用此对象mat1

model_gbm <- train(ensembleData[,predictors], ensembleData[,labelName], method='gbm',  trControl=myControl)


ensembleData [,预测变量]用于包含sift功能的特征部分,而ensembleData [,labelName]包含数据的实际类(0或1)。

我曾考虑过在preProcess函数内部使用train函数,但是我希望能够在其他模型的其他地方使用相同的预处理数据。

谢谢!

最佳答案

根据caret documentation


  preProcess函数可估算每个操作所需的参数,predict.preProcess用于将其应用于特定数据集


因此,您需要将估算的参数应用于数据,如下所示:

mat1=preProcess(mat, method=c("pca", "zv"))
transformed = predict(mat1, mat)
model_gbm <- train(data=transformed, method='gbm',  trControl=myControl)

关于r - 从插入符包预处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42895545/

10-12 19:43