给贵宾犬或炸鸡的每个灰度图像提供了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/