r - 从插入符包进行预处理

标签 r machine-learning classification

我为 Poodle 或炸鸡的每个灰度图像提供了 5000 个 SIFT 特征,并要求建立一个分类模型。

我在 sift 特征矩阵上运行了 preProcess 函数:

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

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

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

ensembleData[, Predictors] 用于包含 sift 特征的特征部分,ensembleData[, labelName] 包含数据的实际类别(0 或 1)。

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

谢谢!

最佳答案

根据caret documentation

The function preProcess estimates the required parameters for each operation and predict.preProcess is used to apply them to specific data sets

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

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/

相关文章:

classification - WEKA - 分类 - 训练和测试集

r - 使用外部提供的指标数据进行 quantstrat

machine-learning - Amazon DynamoDB 和 FlockDB 之间有什么关系/区别?

r - R中基于Log-Cosh损失函数的线性回归模型

machine-learning - 为什么 VGG19 减去输入的平均 RGB 值?

machine-learning - 准确率有所提高,但在许多时期内保持不变

r - macOS 和 CentOS 上的并行 Caret 与 doSNOW 集群

生成 pdf 时 R knitr 错误 41(windows)

r - 通过嵌套函数传递同名参数

C# 机器学习和多标签分类