R 如何将参数传递给插入符号摘要函数

R 如何将参数传递给插入符号摘要函数,r,r-caret,R,R Caret,如何将参数传递给插入符号摘要函数 例如,插入符号的twoClassSummary函数具有以下签名: twoClassSummary(数据,lev=NULL,model=NULL) 参数lev指定了我感兴趣的因子级别。 现在我想告诉caret,我对因子级别“false”的摘要感兴趣。差不多 trainControl(summary=twoClassSummary(lev="false")) 不起作用。如何将参数传递给summary函数?谢谢 我认为目前不可能以直接的方式进行此操作,因为tr

如何将参数传递给插入符号摘要函数

例如,插入符号的twoClassSummary函数具有以下签名: twoClassSummary(数据,lev=NULL,model=NULL)

参数lev指定了我感兴趣的因子级别。 现在我想告诉caret,我对因子级别“false”的摘要感兴趣。差不多

  trainControl(summary=twoClassSummary(lev="false")) 

不起作用。如何将参数传递给summary函数?谢谢

我认为目前不可能以直接的方式进行此操作,因为train(…)的附加参数没有传递给twoClassSummary()。你们可以用这个技巧使它发挥作用,你们的想法非常接近。创建一个自定义函数,该函数将插入符号中的值传递给summary函数,但在执行此操作时可以处理或替换这些值

trainControl(
    summaryFunction = function(...) empTwoClassSummary(..., lev = c("your_other_class","false"))
您可以执行相同的操作,将其他参数传递给自定义摘要函数,例如:

trainControl(
    summaryFunction = function(...) customTwoClassSummary(..., weights = c(0.1, 0.2), orgData = my_data)
与问题无关:在您的示例中,请确保希望成为目标级别的级别是
lev
中的第二个向量元素,因为twoClassSummary()默认情况下在以下行中假定这一点:

lvls <- levels(data$obs)
data$y = as.numeric(data$obs == lev[2])

lvls试图更具体地描述问题。为什么它不起作用?错误信息是什么?您试图解决此问题的方法是什么?另请参见: