2017-06-17 55 views
1

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

例如,插入符号的twoClassSummary功能具有以下特征: twoClassSummary(数据,LEV = NULL,模型= NULL)

参数列弗specificies的因子水平我感兴趣的 现在我想告诉脱口说,我对因素级别“错误”的摘要感兴趣。类似于

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

不起作用。我如何将参数传递给汇总函数?谢谢!

+0

尝试更详细地描述问题。为什么它不起作用?什么是错误信息?你试图解决这个问题? – joha

回答

1

我相信现在不可能以直接的方式做到这一点,因为train(...)的附加参数不会传递给twoClassSummary()。你可以使用技巧使它工作,你的想法非常接近。创建一个自定义函数,将来自脱字符的值传递给汇总函数,但是在它们上面工作或替换它们。

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])