2017-06-17 41 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])