我可以在 R caret 的包中自定义预处理吗?

Can I customize preprocesses in R caret's package?

我正在使用 caret 包来训练回归。自从我遇到它,我就知道我会需要它。

我看过预处理数据集的部分。虽然其中一些我可以直接应用,但还有另一部分我想尝试,但我没有找到如何尝试的方法。让我详细解释一下。

假设我有三种类型的变量。

bell_shaped <- randr(m*h, mu, sig)
non_bell    <-  expr(m*j, lambda)
factor      <- sample(c('a','b','c'), m*k, replace=F) 
data        <- as.data.frame(matrix(
    cbind(bell_shaped, non_bell, factor)), nrow=m))

这三种类型中的每一种我都以不同的方式处理。对于钟形,我按我看到的方式对它们进行缩放;非铃我想得到分位数,而对于因素只是水平。

并且分位数取决于训练集,因此需要预处理。虽然我确实在 caret 包中找到了它的部分,但我没有找到如何找到它。

这是软件包的一项功能吗?是否有其他工具可以用来执行此操作?

当然可以。有 custom methods 个可以执行此操作。

This example是演示。