R-将参数传递给与显式参数冲突的点

  • 本文关键字:参数 冲突 参数传递 r r-caret
  • 更新时间 :
  • 英文 :


caret::train()函数具有明确的method参数,我们可以为其指定使用的机器学习方法(例如MASS::polr)。此外,caret::train()允许您通过...(DOTS)参数传递参数。

但是,我想通过的MASS::polr参数之一是method,它与caret::train() method参数冲突。

在仍将method="polr"参数传递给caret::train()时,如何专门将polr method="probit"参数传递给polr

不确定caret::train()是否有一个特定的技巧,还是函数点的一般技巧与一般冲突的命名函数参数。

具体来说,我需要:

  ## Generic example, no data, but captures idea
fit <- train(xdata, ydata, method="polr" # this 'method' is named parameter for train() function
  , preProcess = c("center", "scale")
  , method="probit" # this 'method' parameter needs to be passed via dots to 'polr'
  )

通常,...选项将所需的参数传递给基础函数。但是在某些情况下,这确实与火车功能中的现有参数发生了冲突。对于polr,这是通过tuneGrid解决的。

请参阅"可用型号"页面并搜索polr。

在公式符号中,应该看起来像这样:

train(y ~ x1 + x2, 
      data = my_data, 
      method = "polr", 
      trControl = my_control, 
      tuneGrid = expand.grid(method = "probit"))

最新更新